私は、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
ファイルを作成する必要があるとだけ言っています私たちが持っているコンテナ。
つまり、これを設定するためにコマンドを実行する必要があると彼は言っていません。
おそらく、ホストファイルがansible.cfg
のどこにあるかをansibleに伝えたいでしょう。
[defaults]
inventory=inventory
inventory
が実際にはインベントリファイルであると仮定します。