# 3. ansible 設定ファイルの管理

先ほど、アドホックにansibleコマンドを実行した際に、-kオプションを使っていました。 これはansibleを実行する際にsshのパスワードを入力させるというオプションになります。

Ansibleは通常、sshのログインにパスワードなしの鍵認証を想定しているため、オプション無しで実行した場合は sshのパスワードを入力させることはありません。

しかし、今回の演習ではパスワードログインによって実行していますので 毎回-kオプションを実行するのは手間になります。

これらの設定についてAnsibleでは設定ファイルの設定を変更することでカスタマイズできます。

ansibleの設定ファイルは ansible.cfg という名前になっています。 従って今回は設定ファイルを編集し、-kオプションなしでもsshのパスワードを入力させるように変更してみましょう。

# [演習] 設定ファイルの編集

では、実際に設定ファイルを編集してみましょう。 設定ファイルは ansible.cfg となります。

  • ansible.cfg の作成
    vi ansible.cfg
    
    1
  • askpass = True[defaults]セクションに記載する
    [defaults]
    ask_pass = True
    
    1
    2
  • 動作確認
    • 先ほど作成した設定が正しいことを確かめるために、ansibleコマンドで Ping モジュールを実行してみます。 -kオプションを指定しなくてもパスワードを求められるはずです
      ansible -i inventories/hosts exercise -m ping
      
      1
    • パスワードを聞かれるため事前準備で設定したパスワード(ansible)を入力します
  • 出力結果
    host01 | SUCCESS => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": false,
        "ping": "pong"
    }
    host00 | SUCCESS => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": false,
        "ping": "pong"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

正しく実行されれば SUCCESS と出力されます。

# 参考情報

# ansible.cfg パラメータの確認

Ansibleには様々な設定を施すことが可能な他、デフォルト値が定められている物もあります。 これらを確認するにはどうすれば良いのでしょうか。 また、どのような設定が可能なのか全ての設定値を覚えておくことは現実的ではありません。

こういったときのためにansible-config というコマンドを用いることができます。

 ansible-config
1