8. Variables
• Ansible이 정의하고 있는 variables
✓ ansible_user, ansible_ssh_private_key_file,
…
• 사용자 정의 variables
✓ web_server_port, …
9. • Variables 분리
✓ /etc/ansible/group_vars/{group}.yml
✓ /etc/ansible/host_vars/{host}.yml
✓ /playbook/path/group_vars/{group}.yml
✓ /playbook/path/host_vars/{host}.yml
✓ Ansible 기본 경로와 playbook 경로에 모두 있
을 경우 playbook 하위 경로의 내용으로
override
10. Playbook
• playbook > play > role > task
✓ task : ansible module 하나를 호출하는 작업단위
✓ play : host, group을 정의된 role에 매핑
✓ example : wordpress playbook
• mysql role (mysql 구성하기 위한 task 모음) + apache
role + php/wordpress role
• ansible-playbook {playbook_file}.yml {options}
11. Role
• Playbook 구성하기 가장 좋은 방법
• File directory 구조에 따라 자동으로 로딩
• roles 하위 디렉토리에 main.yml 파일 필요
12. 그 이외의 것들
• Include
✓ 다른 파일에 정의된 play나 task 가져오기
• Handler
✓ task 수행 후 trigger 되는 작업
✓ task의 notify section에서 호출
• Module
✓ Module 마다 기능이 다르고 argument들이 다르므로 참조
✓ http://docs.ansible.com/ansible/modules_by_category.html