在Playbook的hosts部分,确认目标主机的名称或IP地址是否正确,确保与hosts文件中定义的一致。例如:
- name: Set up Apache server
hosts: webserver
tasks:
...
如果本地主机已在hosts文件中定义,可以使用“localhost”作为主机名称:
- name: Set up Apache server
hosts: localhost
tasks:
...
在使用Ansible时,通常需要使用inventory文件定义主机组和主机列表。确保在Playbook中引用正确的inventory文件:
- name: Set up Apache server
hosts: webserver
become: yes
gather_facts: no
vars_files:
- vars/main.yml
roles:
- apache
在这个例子中,Ansible会在inventory文件中查找名为“webserver”的主机组。
如果仍然存在问题,可能是因为目标主机还没有被添加到Ansible中。请使用以下命令添加主机:
ansible-playbook -i inventory_file playbook.yml
其中,inventory_file为inventory文件的路径,playbook.yml为Playbook的名称。
最后,Ansible需要通过SSH与目标主机建立连接。请确认SSH已正确配置,并且可以使用以下命令直接连接主机:
ssh user@host
其中,user和host分别是本地用户名和远程主机IP地址。如果SSH连接仍然无法建立,请检查网络连接或防火墙设置。