脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

ansible実行時のオプションTips

特定のサーバにのみ実行したい場合

-l <実行したいhost>

ansible-playbook playbook_example.yml -l 192.168.33.11

特定のHostsグループのみに実行したい場合

-l <実行したいhostグループ>

hostsファイル
[web]
192.168.11.11
192.168.11.12

[storage]
192.168.11.21
192.168.11.22
ansible-playbook playbook_example.yml -l storage

指定したタクスからはじめたい場合

--start-at <タスク名>

ansible-playbook playbook_example.yml --start-at='install package'

1タスクずつ確認しながら実行したい場合

--step

タスク毎に引き続き実行するか確認が入る(y/n/c)

  • y: 実行
  • n: スキップして次のタスクへ
  • c: キャンセル

playbookの確認

--check

実際に実行はせずテストが出来る

sudo のパスワードを実行時に指定する方法

-K

vagrant環境などsudoのパスワード入力が要求されない場合はいらないが、実際の環境では当然パスワード入力が必要になるのでこのオプションで指定する

指定したタクスのみ実行したい場合

playbookの中でtagsを指定し、実行時にタグ名で指定する

--tags=<タグ名>


playbook

- hosts: webserver
  sudo: yes
  tasks:
    - name: download package
      get_url:
        url: https://hogehoge.deb
        dest: /usr/local/src/hogehoge.deb
        validate_certs: no
      tags:
        - download

    - name: install package
      command: dpkg -i /usr/local/src/hogehoge.deb
      tags:
        - install

実行オプション

ansible-playbook playbook_example.yml --tags=download
ansible-playbook playbook_example.yml --tags=install