1. ホーム
  2. ansible

[解決済み] Ansible: 一致するホストがありません

2022-02-07 06:01:56

質問

Ansibleで初めてリモートシェルスクリプトを実行しようとしています。まず、SSHキーを生成してコピーしました。以下は私のymlファイルです。

---
- name: Ansible remote shell
  hosts: 192.168.10.1
  user: myuser1
  become: true
  become_user: jboss
  tasks:
    - name: Hello server
      shell: /home/jboss/script.sh

しかし、playbook を起動すると、結果は "no hosts matched" となります。

ansible-playbook setup.yml 

PLAY [Ansible remote shell
******************************************** 
skipping: no hosts matched

PLAY RECAP ******************************************************************** 

IPアドレスの代わりにホスト名でも試してみましたが、何も変わりませんでした。何か良い方法はないでしょうか?

解決方法は?

ホストインベントリを定義する必要があります。

このためのデフォルトのパスは /etc/ansible/hosts (helloVにも記載されています)。

最小限の例として、コマンドラインでインベントリを指定することもできます。

ansible-playbook setup.yml -i 192.168.10.1,

最後のカンマはリストにして、ansibleが直接解析できるようにします。そうでない場合は

ansible-playbook setup.yml -i myinventory

ここで myinventory はホストの一覧ファイルです。