web-dev-qa-db-ja.com

Ansible:インベントリソースを解析する方法

私は、Packtから入手したAnsibleチュートリアルに従っています。この部分に到達し、3つのUbuntuコンテナー(lxc)を作成して、それらを稼働させました。それぞれにログインすることもできます。

私は次のようにしてAnsibleをダウンロードしました:git clone ansible-git-urlそしてそれを調達しました。

私の作業設定は次のとおりです:/home/myuser/codeここに2つのフォルダーがあります:ansible(gitリポジトリ全体)とansible_courseここに2つのファイルがあります:ansible.cfgおよびinventory

inventoryには以下が含まれます。

[allservers]
192.168.122.117 
192.168.122.146
192.168.122.14

[web]
192.168.122.146
192.168.122.14

[database]
192.168.122.117

そしてansible.cfgに含まれるもの:

[root@localhost ansible_course]# cat ansible.cfg
[defaults]
Host_key_checking = False

次に、このパスから:/home/myuser/code/ansible_course以下を実行してみます。

$ ansible 192.168.122.117 -m ping -u root

チュートリアルの人はこれとまったく同じで、pingから成功の応答を受け取りますが、次のエラーメッセージが表示されます。

[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied Host pattern, ignoring: 192.168.122.117

チュートリアルでは、inventoryソースを提供するために私が特別なことをする必要があるとは彼は言わず、LinuxのIPアドレスを使用してinventoryファイルを作成する必要があるとだけ言っています私たちが持っているコンテナ。

つまり、これを設定するためにコマンドを実行する必要があると彼は言っていません。

3
grimmjow_sms

おそらく、ホストファイルがansible.cfgのどこにあるかをansibleに伝えたいでしょう。

[defaults]
inventory=inventory

inventoryが実際にはインベントリファイルであると仮定します。

7
thrig