我想运行一个 ansible playbook,它会安装一个服务,如果自上次运行以来发生任何更改(或多或少是 ansible 处理程序的规范用例),则重新启动它。
但我想要一个不同的并行性用于安装而不是重新启动:我想一次在所有主机上安装,但是,如果调用“服务重新启动”处理程序,我希望它一次在 X 台主机上运行。
我知道这对于不同的戏剧来说是可能的serial
价值观。但如果我走这条路,我不知道如何利用处理程序。我买不起一本带有serial
值喜欢2
,因为大多数时候该服务不会发生任何变化。
处理者可以跨越多个游戏吗?或者有没有其他方法可以在不黑客的情况下做到这一点?
Ansible 2.9.0 引入了throttle
关键字,可在任务、块或播放级别使用,以限制允许的工作人员数量(最多为指定的分叉或串行设置)。
例如,这可以用于一一重启数据库集群中的节点:
- name: Restart MySQL
throttle: 1
service:
name: mysql
state: restarted
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)