在Ansible的清单文件中,即使指定了不同的端口但是相同的主机,也只会运行一次处理
据说是在环境中处理好,并为它们分配不同的主机名。
这是预期的行为,请确保清单中的每个主机都指定了不同的主机名。您应该在主机清单中为每个虚拟机命名不同的名称,并使用ansible_ssh_host=127.0.0.1。
在清单中不能为同一主机指定两个不同的端口 · Issue #8306 · ansible/ansible
库存文件的示例
创建多个在同一主机上但端口不同的「同一主机不同端口」组。
[group1]
localhost
[group1:vars]
ansible_port=2221
[group2]
localhost
[group2:vars]
ansible_port=2222
运动示范
尽管尝试列出所有的主机,却只有一个localhost显示出来。
$ ansible -i this_inventory_file.txt all --list-hosts
hosts (1):
localhost
https://github.com/ansible/ansible/issues/8306
实际上运行模块时,似乎只有一边在进行处理。
$ ansible -i this_inventory_file.txt all -m 'raw' -a 'echo ok'
localhost | SUCCESS | rc=0 >>
ok
处理
在`~/.ssh/config`文件中为主机指定一个名称,以便进行名称解析。
在Docker中给本地主机上的SSH服务器添加主机名以进行访问-Qiita
概要
- Ansible closed issue | Can not list multiple hosts have different ports on a same hostname
环境
- ansible 2.6.1
招募聊天组成员
如果有任何问题、烦恼或需要咨询的事情,请随时使用LINE开放聊天室。
推特