假设我们在库存文件中定义了两台机器:
[db-server-preprod]
172.16.0.1
172.16.0.2
如果我针对该组运行一个剧本,则如果序列为0则在两台机器上同时运行,或者如果为1则顺序运行,并且该顺序似乎是在该组中定义IP的顺序.
但问题是我是否可以在定义的机器上控制剧本执行的顺序?
对于其中一台机器(主机)而言,相同角色的行为略有不同,但与其他所有机器相比,但我希望作为主机的机器将是第一台执行该机器的机器非常重要.
我的想法到目前为止:
db-server-preprod*变体+所有其他环境将有一个.您可以将主主机置于单独的组中,然后将公共角色一次应用于所有服务器,然后仅将主角色应用于主服务器,将奴隶角色应用于除主模式之外的所有服务器使用排除模式.
库存:
[all-servers]
host1
host2
host3
host4
[master-server]
host2
Run Code Online (Sandbox Code Playgroud)
剧本:
---
- hosts: all-servers
gather_facts: no
tasks:
- debug: msg=role-common
- hosts: master-server
gather_facts: no
tasks:
- debug: msg=role-master
- hosts: all-servers:!master-server
gather_facts: no
tasks:
- debug: msg=role-slave
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9069 次 |
| 最近记录: |