ansible将主机添加到多个组

时间:2016-09-01 09:32:26

标签: ansible ansible-inventory

我不确定是否可以通过ansible实现以下目标。 我有以下主机列表:注意:主机可以跨组重复

  

地区:US
阶段:QA
主持人:Host1
地区:US
阶段:UAT
主持人:Host2
  地区:伦敦
舞台:QA
主持人:主持人3
地区:伦敦
舞台:UAT
主持人:   主机1

现在,我可能希望在美国组中的所有主机上运行某些任务。或者我可能想要使用region us和stage作为qa运行Host。或者我可能想要运行属于QA组的所有主机。那我该怎么做呢?

2 个答案:

答案 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