グローバルインベントリで-mを使用すると、Ansibleは相対変数ファイルをチェックしますか?

グローバルインベントリで-mを使用すると、Ansibleは相対変数ファイルをチェックしますか?

ファイルを作成しましたが、

./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

おすすめ記事