Ansible的Serial关键字用于定义在一批主机上同时执行任务的数量。这通常用于避免在同时重启大量服务器时出现错误。
例如,如果我们想要在10台主机上同时执行一个任务,我们可以使用以下的playbook:
- hosts: all
serial: 5
tasks:
- name: restart apache
service: name=httpd state=restarted
在上述示例中,serial关键字设置为5,这意味着Ansible将在每个批次中一次性重启5台主机。
我们还可以在每个批次之间休眠一段时间,这可以通过设置pause关键字来完成。例如,我们可能希望在每个批次之间等待30秒钟。我们可以使用以下的playbook:
- hosts: all
serial: 5
tasks:
- name: restart apache
service: name=httpd state=restarted
- name: pause
pause:
seconds: 30
在上述示例中,每当批次中的5台主机完成任务重启httpd之后,Ansible将在每个批次之间休眠30秒。
这样,我们就可以通过Serial关键字有效地处理主机的执行,从而确保Ansible自动化任务的顺利运行。