#blognavi
昨日の続き。
ansibleでPlaybookを使ってみる。
用意するファイルは以下
vagrant@node1:~$ cat hosts
[test-servers]
192.168.33.12
vagrant@node1:~$ cat sample-playbook.yml
---
- hosts: test-servers
become: true
tasks:
- name: install Nginx
apt: name=nginx state=installed update_cache=true
notify:
- Start Nginx
- name: Start Nginx
service: name=nginx state=started
YMLの文法は独特。タブは効かないのでスペースでインデントすること。
1. 準備
pingが通ることを確認しておく。
vagrant@node1:~$ ansible -i hosts 192.168.33.12 -m ping
192.168.33.12 | SUCCESS => {
"changed": false,
"ping": "pong"
}
2. 文法チェック
文法チェックができる。
vagrant@node1:~$ ansible-playbook -i hosts sample-playbook.yml --syntax-check
playbook: sample-playbook.yml
なにもエラーがなければOK。
3. タスク一覧の表示
vagrant@node1:~$ ansible-playbook -i hosts sample-playbook.yml --list-tasks
playbook: sample-playbook.yml
play #1 (test-servers): test-servers TAGS: []
tasks:
install Nginx TAGS: []
Start Nginx TAGS: []
このあと--checkコマンドもあるが、これはエラーになった。なぜ?
4. タスク実行
vagrant@node1:~$ ansible-playbook -i hosts sample-playbook.yml
PLAY [test-servers] ************************************************************
TASK [setup] *******************************************************************
ok: [192.168.33.12]
TASK [install Nginx] ***********************************************************
changed: [192.168.33.12]
TASK [Start Nginx] *************************************************************
ok: [192.168.33.12]
PLAY RECAP *********************************************************************
192.168.33.12 : ok=3 changed=1 unreachable=0 failed=0
エラーなしで終了した。
node2の方で確認すると、実行されている。
vagrant@node2:~$ ls -l /etc/init.d/n*
-rwxr-xr-x 1 root root 4479 Mar 20 2014 /etc/init.d/networking
-rwxr-xr-x 1 root root 4710 Jul 29 2015 /etc/init.d/nginx
vagrant@node2:~$ /etc/init.d/nginx status
* nginx is running
ちなみに、もう一度実行しても再インストールは行われない。
vagrant@node1:~$ ansible-playbook -i hosts sample-playbook.yml
PLAY [test-servers] ************************************************************
TASK [setup] *******************************************************************
ok: [192.168.33.12]
TASK [install Nginx] ***********************************************************
ok: [192.168.33.12]
TASK [Start Nginx] *************************************************************
ok: [192.168.33.12]
PLAY RECAP *********************************************************************
192.168.33.12 : ok=3 changed=0 unreachable=0 failed=0
カテゴリ: [
日記] - &trackback() - 2016年05月06日 18:11:03
#blognavi
最終更新:2016年05月06日 18:23