1. Ansible Server Host
master# hostnamectl set-hostname ansiblemaster.kobic.kr
master# vi /etc/hosts
192.168.56.105 ansiblemaster.kobic.kr ansiblemaster
192.168.56.106 ansibleclient01.kobic.kr ansibleclient01
192.168.56.107 ansibleclient02.kobic.kr ansibleclient02
master# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
master# yum -y install ansible openssh-clients
master# vi /etc/ansible/ansible.cfg
#host_key_checking = False
host_key_checking = False
master# mv /etc/ansible/hosts /etc/ansible/hosts.or
master# vi /etc/ansible/hosts
192.168.56.105
[bio_servers]
192.168.56.106
192.168.56.107
master# ansible all --list-hosts
hosts (3):
192.168.56.105
192.168.56.106
192.168.56.107
master# ansible bio_servers --list-hosts
hosts (2):
192.168.56.106
192.168.56.107
master# ssh-keygen
master# ssh-copy-id 192.168.56.106
master# ssh-copy-id 192.168.56.107
master# ansible bio_servers -m ping
192.168.56.106 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.56.107 | SUCCESS => {
"changed": false,
"ping": "pong"
}
2. Usage
master# vi playbook_sample.yml
- hosts: target_servers
become: yes
become_method: sudo
tasks:
- name: httpd is installed
yum: name=httpd state=installed
- name: httpd is running and enabled
service: name=httpd state=started enabled=yes
master# # ansible-playbook playbook_sample.yml --ask-become-pass
SUDO password:
PLAY [target_servers] ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [192.168.56.106]
ok: [192.168.56.107]
TASK [httpd is installed] ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.56.107]
changed: [192.168.56.106]
TASK [httpd is running and enabled] *************************************************************************************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.56.107]
changed: [192.168.56.106]
PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
192.168.56.106 : ok=3 changed=2 unreachable=0 failed=0
192.168.56.107 : ok=3 changed=2 unreachable=0 failed=0
master# ansible bio_servers -m shell -a "/bin/systemctl status httpd | head -3" -b --ask-become-pass
SUDO password:
192.168.56.106 | SUCCESS | rc=0 >>
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-08-30 17:19:33 KST; 59s ago
192.168.56.107 | SUCCESS | rc=0 >>
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-08-30 17:19:33 KST; 59s ago
최근댓글