首页 > 解决方案 > 主机上的任务调用之间的 Ansible 暂停

问题描述

我有三台 Consul 服务器,在进行更改后需要重新加载其配置。为了保持集群的健康,重载过程在每个主机之间有一个延迟是很重要的。服务器的数量是动态的,由动态构建的组确定。例子:

---
- hosts: ConsulServer
  tasks:
    - name: Reload configuration
      ansible.builtin.shell: consul reload

运行上面的剧本将导致 Ansible 对每个主机执行重新加载命令,每次调用之间几乎没有暂停。如何强制 Ansible 减慢它对每个主机运行任务的速度?

标签: ansibleconsul

解决方案


这绝不是我认为的“最佳”答案,因为它仅适用于像我这样使用 shell 模块的情况,但是,它确实符合原始要求。

---
- hosts: ConsulServer
  tasks:
    - name: Reload configuration
      ansible.builtin.shell: consul reload && sleep 10
      throttle: 1

推荐阅读