Ansible Playbook

신민창·2021년 4월 6일

Ansible

목록 보기
3/4

Playbook 실습

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

0개의 댓글