728x90
[Ansible] Ansible 개요와 설치
Ansible?
인프라스트럭처 자동화 도구로, 구성 관리, 애플리케이션 배포, 오케스트레이션 등
다양한 작업을 자동화하는 데 사용됨
에이전트 없이 원격 시스템에 명령을 전달하고 구성을 적용하는 기능을 제공
SSH 프로토콜을 통해 목표 시스템에 접속하여 필요한 작업을 실행하고,
대상 시스템에는 추가적인 에이전트 설치가 필요 없음
Ansible의 기본 개념
- 제어노드
- 앤서블을 실행하는 노드
- /usr/bin/ansible
- /usr/bin/ansible-playbook
- 인벤토리
- 각 매니지드 노드에 대한 IP주소, 호스트 정보, 변수와 같은 정보 지정
- 매니지드 노드
- 앤서블로 관리하는 서버 (HOST)
- 매니지드 노드에는 앤서블을 설치하지 않음
- 모듈
- 앤서블이 실행하는 코드 단위
- 200개 이상의 모듈
- 태스크
- 앤서블의 작업 단위
- 애드훅 명령을 사용하여 단일 작업을 한 번 실행 가능
- 플레이북
- 어떻게 작업을 할 것인지에 대한 목록
- YAML로 작성, 변수와 작업 등이 포함
Ansible의 동작 방식
앤서블의 작동 목표와 원리
- 시스템을 원하는 상태로 표현하여 필요한 변경만 수행
- 각 Task에서는 특정 항목이 특정 상태에 있는지 확인
- 앤서블에서는 상태를 확인 후 시스템이 그 상태가 아니면 Task에서 해당 상태로 만들도록 실행
Ansible의 장점
- 앤서블은 기본적으로 Push 기반
- ansible-playbook 명령을 수행함과 동시에, Ansible은 원격 서버에 연결하고 작업을 수행
- 사용자 : 플레이북을 변경
- 사용자 : 새 플레이북을 실행
- Ansible : 서버에 연결하여 서버 상태를 변경하는 모듈을 실행
- ansible-playbook 명령을 수행함과 동시에, Ansible은 원격 서버에 연결하고 작업을 수행
- 규모 확장 기능
- 단순히 하나의 플레이북 작성으로 단일 노드를 쉽게 구성 할 수 있음
- 매우 얇은 추상화 레이어
- 다른 운영 체제를 실행하는 서버를 관리할 수 있도록 추상화 계층을 제공
- 실제 프로그램을 직접 사용
- 쉘 스크립트보다 훨씬 더 많은 기능을 제공
Ansible 설치
ubuntu 22.04 (제어노드)
sudo apt update -y
sudo apt install ansible -y
ansible --version
반응형
'📚 IaC > Ansible' 카테고리의 다른 글
[Ansible] Docker로 매니지드 서버(호스트) 생성하기 (0) | 2023.09.15 |
---|---|
[Ansible] Host 서버에 Nginx 설치하기 (0) | 2023.06.10 |
[Ansible] 앤서블 연결하기 (Ansible SSH Connect) (2) | 2023.06.09 |