#blognavi
昨日の続き。
ansibleでPlaybookを使ってみる。
用意するファイルは以下

  • hostsファイル
  • ymlファイル

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