我遇到限制Ansible只能与特定主机一起工作的问题
我的库存文件如下所示:
[staging-docker-containers]
app1 ansible_host=host.domain.com ansible_ssh_port=2222
app2 ansible_host=host.domain.com ansible_ssh_port=2223
app3 ansible_host=host.domain.com ansible_ssh_port=2224
[staging-other-servers]
app1 ansible_host=host.domain.com ansible_ssh_port=2225
app2 ansible_host=host.domain.com ansible_ssh_port=2226
app3 ansible_host=host.domain.com ansible_ssh_port=2227
当我运行以下命令
时ansible-playbook --limit="staging-docker-containers:app3" my-playbook.yml -i staging
它会忽略limit命令并尝试连接到staging-other-servers
组下的app3,而不是staging-docker-containers
组下的app3。
我做错了吗?
答案 0 :(得分:1)
您可以在不同的组中拥有相同的主机 但是你可以在同一个名字下拥有不同的主机 如果在不同的地方为同一主机定义相同的主机变量,则后者具有优先权 所以你的库存实际上变成了:
[staging-docker-containers]
app1
app2
app3
[staging-other-servers]
app1 ansible_host=host.domain.com ansible_ssh_port=2225
app2 ansible_host=host.domain.com ansible_ssh_port=2226
app3 ansible_host=host.domain.com ansible_ssh_port=2227