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会对脚本进行多次调用。谢谢你指出这一点