【问题标题】:Configure servers pairwise from two inventory groups in Ansible在 Ansible 中从两个清单组中成对配置服务器
【发布时间】:2018-12-21 19:36:35
【问题描述】:

系统设置如上图。

库存文件

[group1]
host1
host2
host3

[group2]
host4
host5
host6

我想要做的是,当我为 group1 中的主机配置一些角色 A 时,我想成对触发 group2 主机的角色 B,这样-

  • host4 与 host1 一起配置。
  • host5 配置了 host2 等。

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

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

【问题讨论】:

    标签: ansible ansible-inventory


    【解决方案1】:

    基本上,您可以使用 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 没有提供任何机制来自动实现这一点,如果您正在寻找这种类型的解决方案。你必须得到这对
    以程序化的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多