Ansible 无法从清单中找到主机

Ansible 无法从清单中找到主机

我正在尝试在使用之前的一组任务配置后在选定的主机上运行剧本

我能够 ping 主机,并且/etc/ansible/hosts文件中也有相同的内容,但是播放显示skipping: no hosts matched但没有运行。

Ansible 主机文件如下所示

vm1  ansible_host=192.168.200.52

我尝试使用 -i 提及库存文件但没有成功,这里可能出了什么问题?

更新:添加了/etc/ansible/hosts默认清单,但剧本仍然说它无法看到虚拟机

截屏

答案1

Ansible 主机文件如下所示

vm1  ansible_host=192.168.200.52

问:“我尝试使用 -i 提及库存文件,但没有成功,这里可能出了什么问题?”

答:要查看问题所在,请运行以下命令

$ ansible-inventory -i hosts --list

输出应该给出

{
    "_meta": {
        "hostvars": {
            "vm1": {
                "ansible_host": "192.168.200.52"
            }
        }
    }, 
    "all": {
        "children": [
            "ungrouped"
        ]
    }, 
    "ungrouped": {
        "hosts": [
            "vm1"
        ]
    }
}

一个简单的剧本

- hosts: vm1
  gather_facts: false
  tasks:
    - debug:
        var: ansible_host

应该给

$ ansible-playbook -i hosts playbook.yml
...
ok: [vm1] => {
    "ansible_host": "192.168.200.52"

相关内容