Ansible 은 기본적으로 Managed Node에 접근 시 에이전트가 없이 직접 SSH로 접근하는 에이전트리스 방식이다.
다음 방식에 대한 내용을 적어보았다.
1. 에이전트리스 방식이란?
2. 에이전트리스 방식의 장단점
3. 자동화 플랫폼들과 접근 방식들
4. Ansible에서 에이전트리스 방식으로 task를 수행하는 방법
5. Ansible에서 window에서 task를 수행하는 방법
6. 추가적으로 알면 좋은 방식
[1. 에이전트리스 방식이란?]
Managed Node에 접근 시 에이전트가 없이 직접 SSH로 접근하는 방식
에이전트 방식은 에이전트 소프트웨어가 Managed Node에 있어 통신을 돕는다.
[2. 에이전트리스 방식의 장단점]
{장점}
1. 에이전트가 없어서 오버헤드가 적다.
2. 추가적인 데몬이 없고 SSH Key를 사용하면 기본적으로 보안적으로 우수하다.
3. 설치가 간편하다.
4. 다양한 환경을 지원한다.(UNIX, Window,LINUX)
{단점}
1. SSH 연결과 해제를 반복하다보니 느리다.
2. 임시 .py 파일이 생성되므로, 메모리를 많이 잡아먹는다. 보안 우려가 있다.
3. SSH가 연결이 안되면 ansible을 사용할 수 없다.
[3. 자동화 플랫폼들과 접근 방식들]
Agent 방식: puppet (대규모 서버 자동화), chef ( 클라우드 서버 자동화 ), salt stack
Agentless 방식: ansible , salt stack
대규모 정교한 서버 자동화: Agent 방식
빠른 서버 자동화: Agentless 방식
[4. Ansible에서 에이전트리스 방식으로 task를 수행하는 방법]
Control Node에서 Playbook을 수행하고 Inventory로 부터 Managed Node리스트를 불러옴
Managed Node와 SSH 연결을 하여 Playbook으로 부터 생성한 임시 py 파일을 전달하여, Managed Node에서 실행
task가 완료되고나서 임시 py파일 삭제 및 SSH 종료
[5. Ansible에서 window에서 task를 수행하는 방법]
WinRM 을 통해 Ansible 수행 Inventory에서 명명 필요
[6. 추가적으로 알면 좋은 방식]
ansible.config 파일에서 fork 옵션을 통해 병렬 처리 가능
SSH 키 기반 통신을 통해서 pwd 인증 없이 안전하게 SSH 연결가능
ansible pull 기능을 통해, playbook을 직접 managed node에서 실행 가능
'공부 > Ansible' 카테고리의 다른 글
5. Ansible의 playbook 형식 (0) | 2025.03.31 |
---|---|
4. Ansible의 기본 명령어 (0) | 2025.03.28 |
2. Yaml 기본 문법 (0) | 2025.03.27 |
1. Ansible이란 (0) | 2025.03.25 |
카테고리 설명 (0) | 2025.03.25 |