Ansibleでいくつか実行時の動作を変更することができる。例えば、Playbookを実行する際に、標準出力だけでなくテキストファイルにもログを出力させたりすることができる。
本記事では、Ansibleの設定ファイル「ansible.cfg
」について設定方法と設定内容を記載する。
ansible.cfg
について
ansible.cfg
の説明は公式のマニュアルにも記載されている。
- Ansible の動作の制御: 優先順位のルール - Ansible Documentation
- Ansible Configuration Settings - Ansible Documentation
ansible.cfg
は複数の配置場所を選択することができる。以下に配置されているファイルについて上から順に検索され、最初に見つかったansible.cfg
の設定のみが反映され、他のファイルの設定は無視される。
- 環境変数
ANSIBLE_CONFIG
で指定したパス - カレントディレクトリの
ansible.cfg
- ホームディレクトリの
~/.ansible.cfg
/etc
配下の/etc/ansible/ansible.cfg
ansible.cfg
の生成
ansible.cfg
はテキストファイルなので手書きで作成してもよいが、コマンドで初期ファイルを作成することもできる。ただし、1000行以上となる長いファイルとなるため可読性は低いので、どのようなオプションがあるか一覧として表示させる際に利用するなどするとよい。
実行コマンドは以下の通り。
# ansible-config init --disabled -t all > ansible.cfg
# ls -l
合計 56
-rw-r--r-- 1 root root 54413 3月 21 11:21 ansible.cfg
ansible.cfg
の設定項目
個人的によく使う設定項目
ansible.cfg
の設定値は非常に多くあるが、その中でも個人的によく使う設定値を以下に記載する。
設定項目 | 説明 |
---|---|
display_args_to_stdout | Playbookのタスク実行時に、設定したパラメータを表示する。実際の表示例は後述する。 |
forks | 複数のホストに対する処理の同時実行数。デフォルト5台と少なめになっているので、この値を増加させることで処理の高速化が期待できる。 |
host_key_checking | SSH接続時の警告メッセージを無視する設定。例えば、今までSSH接続したことがないホストにSSH接続すると、本当に接続して問題ないか確認する警告メッセージが表示されてしまうが、その警告が出た場合でも接続を続行することができる。 |
log_path | Ansibleの実行ログを出力するログのパスをファイル名まで含め指定する。 |
nocolor | 通常、Ansibleの実行結果は、okが緑、changedが黄色、failedが赤と色付けされて表示がされる。この色付けを無効化したい場合はTrueで設定する。 |
vault_password_file | Ansible Vaultが読み込むパスワードファイルを指定する。 |
display_args_to_stdout
設定時の表示
display_args_to_stdout
を設定しない場合(デフォルト)と設定した場合の表示の違いを以下に記載する。設定した場合は、各タスクの行において設定しているパラメータが表示されていることがわかる。
display_args_to_stdout
未設定時(デフォルト)
TASK [Install yum-utils] ****************************************************************************************************************************************************************************************************
ok: [t1051kube]
TASK [Check existence of docker-ce.repo] ************************************************************************************************************************************************************************************
ok: [t1051kube]
display_args_to_stdout
設定時
TASK [Install yum-utils name=yum-utils, disablerepo=dvd*, state=present] ****************************************************************************************************************************************************
ok: [t1051kube]
TASK [Check existence of docker-ce.repo _raw_params=ls -l "/etc/yum.repos.d/docker-ce.repo"] ********************************************************************************************************************************
ok: [t1051kube]
ansible.cfg
設定例
最後に、ansible.cfg
設定例を記載する。display_args_to_stdout
は通常は無効で利用しており、必要な場合のみ有効にすることから、通常はコメントアウトして利用している。
[defaults]
# display_args_to_stdout = True
forks = 20
host_key_checking = False
log_path = /var/log/ansible/ansible_test.log
# nocolor = True
vault_password_file = .vault_pass
Ansibleの設定ファイル「ansible.cfg
」に関する説明は以上となる。
0 件のコメント:
コメントを投稿