ansible-具有动态资源清册的主机别名

ansible-具有动态资源清册的主机别名,ansible,Ansible,我有以下静态库存文件: [nodes:children] masters workers [masters] node1 ansible_host=1.2.3.4 ansible_port=2220 ansible_user=vagrant ansible_private_key_file=keys/id_rsa [workers] node2 ansible_host=1.2.3.4 ansible_port=2221 ansible_user=vagrant ansible_privat

我有以下静态库存文件:

[nodes:children]
masters
workers

[masters]
node1 ansible_host=1.2.3.4 ansible_port=2220 ansible_user=vagrant ansible_private_key_file=keys/id_rsa

[workers]
node2 ansible_host=1.2.3.4 ansible_port=2221 ansible_user=vagrant ansible_private_key_file=keys/id_rsa
因为我的主机使用相同的IP,但不同的ssh端口,所以我需要将它们别名为,以便ansible可以将它们视为两个主机

我试图使用动态清单脚本来生成它,但是我很难找到关于我需要返回的json格式的任何信息,更具体地说,就是如何为主机别名

所以我的问题是——有人知道上面静态清单文件的json等价物吗?或者我可以在哪里找到json格式的信息

请阅读有关编写动态清单脚本的内容

有两个步骤:

1)
script--list
应该返回组中包含变量和主机名的组(在您的示例中,您应该返回组:
节点
主节点
工作者
和主机:
节点1
节点2

2)
script--host
应该返回主机的变量(在您的示例中是连接变量,如
ansible\u host
ansible\u port

因此,在您的示例中,清单脚本在使用
--list
--host node1
--host node2
执行时应返回3个不同的json对象。请阅读有关编写动态清单脚本的内容

有两个步骤:

1)
script--list
应该返回组中包含变量和主机名的组(在您的示例中,您应该返回组:
节点
主节点
工作者
和主机:
节点1
节点2

2)
script--host
应该返回主机的变量(在您的示例中是连接变量,如
ansible\u host
ansible\u port


因此,在您的示例中,清单脚本在使用
--list
--host node1
--host node2
执行时应该返回3个不同的json对象。啊,是的,我读过了,但我没有意识到ansible会对脚本进行多次调用。谢谢你指出这一点啊,是的,我确实读过,但我没有意识到ansible会对脚本进行多次调用。谢谢你指出这一点