ansible-运行在两组主机上序列化的剧本

时间:2020-02-12 13:56:18

标签: ansible

我有一项服务的地理冗余设置,例如一个后端,一个平衡器,rz1和rz2是不同的位置。

库存

[middlewarerz1]
servicerz1-qa01.server.lan

[middlewarerz2]
servicerz2-qa01.server.lan

[balancerrz1]
servicerz1lb-qa01.server.lan

[balancerrz2]
servicerz2lb-qa01.server.lan

和我site.tml下的两本剧本

  - import_playbook: middleware.yml
  - import_playbook: loadbalancers.yml

我需要的是,该剧本的运行会为RZ1主机组生成Middleware.yml / loadbalancers.yml,然后对RZ2主机组进行序列化。这两个剧本都需要两个主机组的信息来配置防火墙/平衡。

待办事项是

  • 对“ middlewarerz1”组执行“ middleware.yml”,并使用“ balancerrz1”组变量
  • 对“ balancerrz1”组执行“ loadbalancers.yml”,并使用“ middlewarerz1”组变量
  • 对“ middlewarerz2”组执行“ middleware.yml”,并使用“ balancerrz2”组变量
  • 对“ balancerrz2”组执行“ loadbalancers.yml”,并使用“ middlewarerz2”组变量

有没有一种方法可以将主机组映射到site.yml中的一个通用主机组?

## Do RZ1
  - hosts: [middleware:children]
            middlewarerz1
           [balancer:children]
            balancerrz1
  - import_playbook: middleware.yml
  - import_playbook: loadbalancers.yml

## Do RZ2
  - hosts: [middleware:children]
            middlewarerz2
           [balancer:children]
            balancerrz2
  - import_playbook: middleware.yml
  - import_playbook: loadbalancers.yml

0 个答案:

没有答案