【问题标题】:ansible add host to multiple groupsansible将主机添加到多个组
【发布时间】:2016-09-01 09:32:26
【问题描述】:

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

地区:美国
阶段:QA
主持人:Host1
地区:美国
阶段:UAT
主持人:Host2
地区:伦敦
舞台:QA
主持人:Host3
地区:伦敦
舞台:UAT
主持人: 主机1

现在我可能想在 US 组中的所有主机上运行某些任务。或者我可能想在我们的地区运行主机并作为 qa 上台。或者我可能想运行属于 QA 组的所有主机。那么我该如何实现呢?

【问题讨论】:

  • 你试过什么?因为这在文档中很早就已经涵盖并且非常简单。此外,您的示例实际上并没有多个组中的主机。
  • @ydaetskcoR:为错过道歉,但主机可以跨组重复,因为示例主机 1 可以位于 2 个区域但不同阶段,如更新示例所示。现在我有一个临时修复组作为“region_stage”和主机。所以我有多个组的排列和组合

标签: ansible ansible-inventory


【解决方案1】:

将库存文件定义为:

[US]
Host1
Host2

[London]
Host1
Host3

[QA]
Host1
Host3

[UAT]
Host1
Host2

在美国组的所有主机上运行某些任务。

hosts: US

以区域 us 运行主机并以 qa 身份运行

hosts: US:&QA

运行属于 QA 组的所有主机

hosts: QA

有关您未明确要求的另一种模式(排除),请参阅patterns 上的文档。

【讨论】:

  • 但是我必须跨组多次列出主机?..组下有子组选项吗?我无法在 ansible 文档中找到它
  • 好的..所以忘记子组..但是你能建议我可能不需要多次提及主机并且不需要创建多个具有不同排列和组合的 REGION 和 STAGE 值的组吗?
  • 但是我不明白你对 StackExchange 实现的问答思想的理解。
  • 你建议的解决方案我已经实施为临时修​​复(如我上面的评论中所述)。如果我使用主机:“US:&QA”,您的解决方案不会在某个主机上运行两次任务吗?因此,如果您有更好的解决方案来避免主机重复以及避免创建多个 P & C 组,那么请建议
猜你喜欢
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
相关资源
最近更新 更多