【Ansible】ansible-playbookのオプション調べてみた

f:id:suganoo:20180904182719p:plain
ちょっと自分のメモがてらansbileのオプションを書き留めておきます。

それぞれのファイルの正式な書き方や説明は省略します。

よく使う実行コマンド

ansibleコマンド

ansible-playbook prod.yml -i ./hosts -c paramiko --vault-password-file=pass/vault_password_file --diff

設定ファイルなど

playbookファイル
- name: インストール 本番環境
  hosts: hosts_prod
  serial: 1
  user: hoge
  become: true
  vars_files:
    - group_vars/common_params.yml
  roles:
    - role: install_common
      tags: cmn
    - role: install_aws
      tags: aws
hostsファイル
[hosts_prod]
prod_01
prod_02
[hosts_dev]
dev_01

オプション

-i INVENTORY

インベントリを指定します。これが指定されることにより、playbook中でhosts: hosts_prodと指定することができます。

-k, --ask-pass

ログイン時にパスワードを要求します。

-c CONNECTION

コネクションタイプ。 -k でログインする際は、-c paramikoを指定しないとエラーになる。理由は不明。

--vault-password-file

ansible-vault で暗号化したファイルのパスワードファイル

--diff

デプロイ時に差分表示

-v

デプロイ詳細を表示。-vvv, -vvvv でさらにもっと詳細表示。

--check -C

差分確認だけでデプロイしない。

--step

1ステップごと確認しながらデプロイする。

--tags

playbookに書いたタグを指定して実行する。

--skip-tags

タグ指定したもの以外を実行する。

確認用オプション

下記のオプションは調べてて知りました。便利だなぁ。

--list-hosts

デプロイするホストを表示する。

ansible-playbook prod.yml -i hosts --list-hosts
playbook: prod.yml

  play #1 (hosts_prod): インストール 本番環境       TAGS: []
    pattern: [u'hosts_prod']
    hosts (2):
      prod_02
      prod_01

--list-tags

ロールのタグを表示する。

ansible-playbook prod.yml -i hosts --list-tags
playbook: prod.yml

  play #1 (hosts_prod): インストール 本番環境       TAGS: []
      TASK TAGS: [cmn, aws]

--list-tasks

ロールのタスクを表示する。

ansible-playbook prod.yml -i hosts --list-tasks
playbook: prod.yml

  play #1 (hosts_prod): インストール 本番環境       TAGS: []
    tasks:
      install_common : create git clone dir {{ git_clone_dir }}  TAGS: [cmn]
      install_common : create log org dir {{ log_org_dir }}        TAGS: [cmn]
(省略)

まとめ

--help を使えば他にも出てきます。
--list-* のオプションは今回記事を書かなかったら知らなかったなあ。
いつか使ってみよう。

Ansibleの書籍は一冊買っておくとなにかと便利ですよ。

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

【PR】搾取されてない.....!?
客先常駐で働いているエンジニアの方お疲れ様です。
IT業界でSESとして働いている人は多いんですが、自分のマージンや月額単価を知らない人がけっこう多いみたいですね。
自分もそうでした。(^^;)
でもそれかなりもったいないですよ。理由はこちらリツアンSTCの紹介記事を見てみてください。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
blog.suganoo.net