managed1, managed2 서버를 각각 웹 서버, DB 서버로 구성하기
연습 디렉터리 생성
$ mkdir practice
$ cd practice
inventory 파일 구성
$ vi inventory
[webservers]
managed1.example.local
[dbservers]
managed2.example.local
[allservers:children]
webservers
dbservers
ansible.cfg 파일 구성
vi ansible.cfg
[defaults]
inventory = ./inventory
remote_user = user
ask_pass = false
[privilege_escalation]
become = false
become_method = sudo
become_user = root
become_ask_pass = false
yaml 파일 구성
$ vi webservice.yaml
---
- name: webserver is ready
hosts: webservers
become: true
tasks:
- name: httpd package is installed
yum:
name: httpd
state: latest
- name: httpd service is enabled and started
service:
name: httpd
enabled: true
state: started
- name: firewall is opened
firewalld:
service: http
state: enabled
permanent: true
- name: dbserver is ready
hosts: dbservers
become: true
tasks:
- name: mariadb package is installed
yum:
name: mariadb-server
state: latest
- name: mariadb service is enabled and started
service:
name: mariadb
state: started
enabled: yes
- name: firewall is opened
firewalld:
service: mysql
state: enabled
permanent: yes
실행 전 파일 동작 확인
$ ansible-playbook webservice.yaml --syntax-check
$ ansible-playbook webservice.yaml --check
파일 실행
$ ansible-playbook webservice.yaml