
ファイルを作成しましたが、
./group_vars/all
簡単な行があります。
---
ansible_user: centos
私の在庫/etc/ansible/inventory
ファイル
[centos]
10.1.38.15
ところで、いざ使ってみるとansible -m ping
一般ユーザーと接続を試みていることを発見しました。
~/cp/ansible$ ansible -vvv centos -m ping
.... stuff
"msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).",
"unreachable": true
ecarroll@
接続の代わりに接続を試みることがわかりますcentos@
。グローバルインベントリを使用するとAnsibleが-m
機能しますか?./group_vars/
答え1
~によると文書化(私の強調):
プレイブックディレクトリ
group_vars/
にディレクトリを追加することもできます。host_vars/
このansible-playbook
コマンドは、デフォルトで現在の作業ディレクトリでこれらのディレクトリを検索します。その他のAnsibleコマンド(例:ansible
などansible-console
)インベントリディレクトリでのみ検索group_vars/
して存在します。host_vars/
別のコマンドでプレイブックディレクトリからグループ変数とホスト変数をロードするには、コマンドライン--playbook-dir
でこのオプションを指定する必要があります。プレイブックディレクトリとインベントリディレクトリの両方からインベントリファイルをロードすると、プレイブックディレクトリの変数はインベントリディレクトリに設定されている変数よりも優先されます。
したがって、これらの変数をコマンド自体に提供する必要があります。
ansible -m setup 10.1.38.15 -e ansible_user=centos
または、
ansible -u centos -m setup 10.1.38.15