Ansible Playbook 실행하기
[Control Machine]
1. Playbook examples 파일 다운로드
# cd ./etc/ansible
# git clone git://github.com/ansible/ansible.git --recursive
# git clone https://github.com/ansible/ansible-examples.git --recursive
2-1. Playbook 트리 구조 및 설정 파일
# tree
.
├── roles
│ └── common
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── ntp.conf.j2
└── site.yml
# cat site.yml
-----
---
# This playbook deploys the whole application stack in this site.
- name: apply common configuration to all nodes
hosts: all
remote_user: root
roles:
- common
-----
# cat roles/common/handlers/main.yml
-----
---
# Handler to handle common notifications. Handlers are called by other plays.
# See http://docs.ansible.com/playbooks_intro.html for more information about handlers.
- name: restart ntp
service: name=ntpd state=restarted
-----
# cat roles/common/tasks/main.yml
-----
---
# This playbook contains common plays that will be run on all nodes.
- name: Install ntp
yum: name=ntp state=present
tags: ntp
- name: Configure ntp file
template: src=ntp.conf.j2 dest=/etc/ntp.conf
tags: ntp
notify: restart ntp
- name: Start the ntp service
service: name=ntpd state=started enabled=yes
tags: ntp
- name: test to see if selinux is running
command: getenforce
register: sestatus
changed_when: false
-----
# cat roles/common/templates/ntp.conf.j2
------
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
server {{ ntpserver }}
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
------
2-2. Playbook 실행(ntp 패키지 설치 및 ntp.conf 배포)
# ansible-playbook site.yml
-----
PLAY [apply common configuration to all nodes] *********************************
TASK [setup] *******************************************************************
ok: [192.168.0.252]
TASK [common : Install ntp] ****************************************************
ok: [192.168.0.252]
TASK [common : Configure ntp file] *********************************************
changed: [192.168.0.252]
TASK [common : Start the ntp service] ******************************************
changed: [192.168.0.252]
TASK [common : test to see if selinux is running] ******************************
ok: [192.168.0.252]
RUNNING HANDLER [common : restart ntp] *****************************************
changed: [192.168.0.252]
PLAY RECAP *********************************************************************
192.168.0.252 : ok=6 changed=3 unreachable=0 failed=0
-----
[Managed Node]
3-1. Node 서버 패키지 설치된 패키지 확인
# rpm -qa | grep ntp
ntpdate-4.2.6p5-10.el6.centos.2.x86_64
ntp-4.2.6p5-10.el6.centos.2.x86_64
3-1. Node 서버 ntp.conf 파일 확인
# cat /etc/ntp.conf
-----
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
server 192.168.1.2
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
-----
'리눅스' 카테고리의 다른 글
[리눅스] CentOS 7 런레벨(runlevel) 변경 (0) | 2017.04.18 |
---|---|
[리눅스] Ansible 일반 계정으로 배포하기 (0) | 2017.04.16 |
Ansible을 설치하고 구성하는 방법 (0) | 2017.04.16 |
[기타] GeoIP database update (0) | 2017.04.06 |
CentOS 7에 NGINX와 Tomcat 멀티 인스턴스를 설치하고 설정하는 방법 (0) | 2017.03.17 |