从 Ansible 中的两个库存组成对配置服务器

Configure servers pairwise from two inventory groups in Ansible

系统设置如上图

库存文件

[group1]
host1
host2
host3

[group2]
host4
host5
host6

我想做的是,当我为 group1 的主机配置一些 roleA 时,我想为 group2 主机成对触发 roleB,这样-

这里,host1也将作为host4配置文件中的变量使用

基本上,成对配置 (host1, host4), (host2, host5) 等。这在 Ansible 中可行吗?请举例说明,我现在已经坚持了很长时间

基本上您可以使用 host_vars 定义您的库存,如下所示::

  [server_set1]
  test1.labserver.com  server_pair=test4.labserver.com
  test2.labserver.com  server_pair=test5.labserver.com
  test3.labserver.com  server_pair=test6.labserver.com

  [server_set2]
  test4.labserver.com 
  test5.labserver.com  
  test6.labserver.com

然后,任何时候您 运行 您的剧本,您都可以针对其配对服务器获取变量 "server_pair" 和 运行 您的角色 B。

ansible -m debug -a "msg={{ server_pair }}" test3.labserver.com -i inventory

test3.labserver.com | SUCCESS => { "changed": false, "msg": "test6.labserver.com" }

Ansible 不提供任何机制来自动实现此目的,以防您正在寻找此类解决方案。你必须得到一对
以编程方式。