我不确定是否可以通过ansible实现以下目标。 我有以下主机列表:注意:主机可以跨组重复
地区:US
阶段:QA
主持人:Host1
地区:US
阶段:UAT
主持人:Host2
地区:伦敦
舞台:QA
主持人:主持人3
地区:伦敦
舞台:UAT
主持人: 主机1
现在,我可能希望在美国组中的所有主机上运行某些任务。或者我可能想要使用region us和stage作为qa运行Host。或者我可能想要运行属于QA组的所有主机。那我该怎么做呢?
答案 0 :(得分:1)
将库存文件定义为:
[US]
Host1
Host2
[London]
Host1
Host3
[QA]
Host1
Host3
[UAT]
Host1
Host2
在美国组的所有主机上运行某些任务。
hosts: US
使用区域us运行主机并将舞台设为qa
hosts: US:&QA
运行属于QA组的所有主机
hosts: QA
对于您未明确要求的其他一种模式(排除),请参阅patterns上的文档。
答案 1 :(得分:-1)
如果我正确理解你的问题,这实际上涵盖在文档的绝对基础知识中。 在inventory.ini / hosts文件中包含:
[US]
host1
host2
host3
[London]
host4
host5
host6
[QA]
host2
host4
host3
host5
[UAT]
host1
host3
host6
然后在剧本中,简单说明你想让剧本在哪一组主持人上运行:
- hosts: US