当我尝试针对清单中定义的一组主机运行 Ansible playbook 时,我遇到了问题。尽管能够直接通过 SSH 连接到服务器,但当我运行 playbook 时,我收到主组错误,指示 Ansible 无法解析主机名:
fatal: [master]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname master: nodename nor servname provided, or not known", "unreachable": true}
这是我的
inventory.ini
:
[all:vars]
ansible_user=root
[cluster]
master
worker
[master]
nuc1
nuc2
[worker]
CPU
GPU
[CPU]
server ...
[GPU]
server1 ...
server2 ...
[admin]
admin-pc ...
[nuc]
...
[thinksystem]
...
我已经用
:children
指令解决了这个问题,该指令用于在组内定义组,如下所示:
[all:vars]
ansible_user=root
[cluster:children]
master
worker
[master]
nuc1
nuc2
[worker:children]
CPU
GPU
[CPU]
server ...
[GPU]
server1 ...
server2 ...
[admin]
admin-pc ...
[nuc]
...
[thinksystem]
...