7/28-30

Ansible Playbook

반복 가능하고 재사용 가능하며 간단한 구성 관리부터 여러 호스트에 복잡한 애플리케이션을 배포하는데 적합하다.

작업을 두번 이상 실행해야하는 경우 Ad-Hoc 명령을 사용하지 않고, playbook을 작성하고 Git과 같은 소스 제어를 사용하는것을 권장함

GitHub - ansible/ansible-examples: A few starter examples of ansible playbooks, to show features and how they work together. See http://galaxy.ansible.com for example roles from the Ansible community for deploying many popular applications.

yaml 형식으로 표현

항상 목록(list)로 시작되며, 목록의 각 항목은 해시(hash) 또는 사전(Dictionary)라는 키/값 쌍을 가지고 있음

vi ~/.vimrc
#syntax on
#autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autoindent

playbook은 하나 이상의 play를 가지고 있으며 play는 작업을 실행하기 위한 특정 관리 노드 또는 그룹을 지정한다.

play에는 작업을 선언하며, 작업은 모듈을 호출한다.

변수

Ansible을 이용하여 시스템의 구성 관리를 자동화 할 수 있지만, 모든 시스템이 항상 같은 구성을 가지지 않고 경우에 따라 다른 구성을 가져야 할 수 있다.

예를 들어, 해당 시스템의 IP 주소를 찾아 해당 IP 주소로 구성해야 할 수도 있다.

⇒ Ansible은 변수를 이용해 시스템 간 차이를 처리한다.

또한, 반복적으로 사용되는 부분을 변수화하면 나중에 수정할때 편리