나의 삽질 저장소!

Ansible Concepts - ansible 이해하기 1편

by softPine

Ansible을 공부하려고 하기 전에 컨셉에 대해서 먼저 정리를 하려고 한다. 이 컨셉들은 Ansible의 모든 공통 사항이다. Ansible을 사용하려면 이 컨셉들을 이해해야 한다.

 

Control node

Ansible이 설치된 모든 머신이다. Control node에서는 ansible 또는 ansible-playbook 명령을 호출하여 ansible 명령과 playbook을 실행할 수 있다. 파이썬이 설치된 모든 시스템을 Control node로 사용할 수 있다. 그러나 윈도우즈 시스템을 Control node로 사용할 수는 없다. Control node는 여러개 일 수 있다.

 

Managed nodes

Ansible로 관리하는 네트워크 장치(및 또는 서버). 이 Managed node를 hosts라고 부르기도 한다. Ansible을 이 Managed node에 설치되지 않느다.

 

Inventory

Managed nodes의 목록. Inventory 파일은 hostfile이라도고 한다. Inventory는 각 Managed node에 대한 IP 주소와 같은 정보를 지정할 수 있다. 또한 Inventory는 Managed node를 보다 쉽게 확장 및 생성, 중첩을 위해 그룹화할 수 있다. Inventory에 대한 자세한 내용은 Inventory 관련 작업 Section을 참조한다.

 

Collections

Collections은 Ansible 컨텐츠의 배포 형식이다. 이 Collections 안에는 playboook, role, module, plugin이 포함되어 있다. 또한 Ansible Galaxy를 통해 이 Collections을 설치하고 사용할 수 있다. Collections에 대한 자세한 내용은 Section을 참조한다.

 

Modules

Asible이 실행하는 코드의 단위. 각 Module은 어떻게 사용 하냐에 따라 여러 용도로 사용할 수 있다. Task를 사용하여 단일 Module을 호출하거나 playbook에서 여러 다른 Module을 호출할 수 있다. Ansible 2.10 버전 부터는 Module은 Collection으로 그룹화된다.

 

Tasks

Ansible의 작업 단위. ad hoc 명령을 사용하여 단일 작업을 한  번 실행할 수 있다.

 

Playbooks

명시된 순서대로 반복 실행할 수 있게 저장되어 있는 Task들의 목록이다. playbook에는 task에 변수가 포함되어 있다. yaml로 작성되어 가독성이 좋다.

블로그의 정보

나의 삽질저장소

softPine

활동하기