targets セクション

2019/03/07

Ansible

 説明

 構文

  • hosts: <host-pattern>
  • gather_facts: [yes | no]
  • become: yes
  • become_user: <useraccount>

 host-pattern

host-pattern対象ホスト
all  inventory ファイル内に記述したすべての対象ホスト
グループ名  inventory ファイル内の指定したグループに含まれるすべての対象ホスト
ホスト名  inventory ファイル内のホスト名で指定された対象ホスト

 gather_facts のパラメータ

option説明
yes
no
 playbook の実行時に facts 変数を収集するかどうかを指定する

 例

■ inventory ファイル : hosts.yml
centos:
  hosts:
    node-c0610:
    node-c0706:
others:
  hosts:
    node-d0908: 

■ hosts : all の場合
---
- hosts: all

  tasks:
    - name: 対象ホスト名の表示
      debug:
        msg: "{{ inventory_hostname }}"
実行結果 → すべてのホストで実行された
[ansibleman@ansiblesv ansible]$ ansible-playbook -i hosts.yml site.yml
 
PLAY [all] ****************************************************************************************
 
TASK [Gathering Facts] ****************************************************************************
ok: [node-d0908]
ok: [node-c0706]
ok: [node-c0610]
 
TASK [対象ホスト名の表示] **********************************************************************************
ok: [node-c0610] => {
    "msg": "node-c0610"
}
ok: [node-c0706] => {
    "msg": "node-c0706"
}
ok: [node-d0908] => {
    "msg": "node-d0908"
}
 
PLAY RECAP ****************************************************************************************
node-c0610                 : ok=2    changed=0    unreachable=0    failed=0   
node-c0706                 : ok=2    changed=0    unreachable=0    failed=0   
node-d0908                 : ok=2    changed=0    unreachable=0    failed=0   
 
[ansibleman@ansiblesv ansible]$

■ hosts : グループ名 の場合
---
- hosts: centos

  tasks:
    - name: 対象ホスト名の表示
      debug:
        msg: "{{ inventory_hostname }}"
実行結果 → cenos グループに含まれるホストだけが実行された
[ansibleman@ansiblesv ansible]$ ansible-playbook -i hosts.yml site.yml
 
PLAY [all] ****************************************************************************************
 
TASK [Gathering Facts] ****************************************************************************
ok: [node-c0706]
ok: [node-c0610]
 
TASK [対象ホスト名の表示] **********************************************************************************
ok: [node-c0610] => {
    "msg": "node-c0610"
}
ok: [node-c0706] => {
    "msg": "node-c0706"
}
 
PLAY RECAP ****************************************************************************************
node-c0610                 : ok=2    changed=0    unreachable=0    failed=0   
node-c0706                 : ok=2    changed=0    unreachable=0    failed=0   
 
[ansibleman@ansiblesv ansible]$

■ hosts : ホスト名 の場合
---
- hosts: node-c0706

  tasks:
    - name: 対象ホスト名の表示
      debug:
        msg: "{{ inventory_hostname }}"
実行結果 → 指定したホストだけが実行された
[ansibleman@ansiblesv ansible]$ ansible-playbook -i hosts.yml site.yml 
 
PLAY [node-c0706] *********************************************************************************
 
TASK [Gathering Facts] ****************************************************************************
ok: [node-c0706]
 
TASK [対象ホスト名の表示] **********************************************************************************
ok: [node-c0706] => {
    "msg": "node-c0706"
}
 
PLAY RECAP ****************************************************************************************
node-c0706                 : ok=2    changed=0    unreachable=0    failed=0   
 
[ansibleman@ansiblesv ansible]$ 

■ “gather_facts: no”の場合
---
- hosts: all
  gather_facts: no
 
  tasks:
    - name: 対象ホスト名の表示
      debug:
        msg: "{{ inventory_hostname }}"
実行結果 → facts 変数を収集する “TASK [Gathering Facts]” が表示されていない
[ansibleman@ansiblesv ansible]$ ansible-playbook -i hosts.yml site.yml 
 
PLAY [all] *****************************************************************************************
 
TASK [対象ホスト名の表示] ***********************************************************************************
ok: [node-c0610] => {
    "msg": "node-c0610"
}
ok: [node-c0706] => {
    "msg": "node-c0706"
}
ok: [node-d0908] => {
    "msg": "node-d0908"
}
 
PLAY RECAP *****************************************************************************************
node-c0610                 : ok=1    changed=0    unreachable=0    failed=0   
node-c0706                 : ok=1    changed=0    unreachable=0    failed=0   
node-d0908                 : ok=1    changed=0    unreachable=0    failed=0   
 
[ansibleman@ansiblesv ansible]$ 

 変更履歴

2019/03/10 “gather_facts” を追記した
2019/04/30 become: / become_user: を追記した

カテゴリー

目次

QooQ