asible超时(asible控制多少台)
导语:ansible管理节点过多,超时问题处理
使用Ansible对交换机巡检时发现,cpu占用较高,多个task,会有超时情况.playbook配置serial后,此问题解决.
1、默认情况下,Ansible将尝试并行管理playbook中所有的机器。对于滚动更新用例,可以使用serial关键字定义Ansible一次应管理多少主机:
- name: test play
hosts: webservers
serial: 2
gather_facts: False
tasks:
- name: task one
comand: hostname
- name: task two
command: hostname
在上面的例子中,如果我们在“WebServers”组中有4个主机,后面2个主机等到前面2个主机执行完后执行:
PLAY [webservers]
TASK [task one]
changed: [web2]
changed: [web1]
TASK [task two]
changed: [web1]
changed: [web2]
PLAY [webservers]
TASK [task one]
changed: [web3]
changed: [web4]
TASK [task two]
changed: [web3]
changed: [web4]
PLAY RECAP
web1 : ok=2 changed=2 unreachable=0 failed=0
web2 : ok=2 changed=2 unreachable=0 failed=0
web3 : ok=2 changed=2 unreachable=0 failed=0
web4 : ok=2 changed=2 unreachable=0 failed=0
2、还可以将serial关键字指定为百分比,表示每次并行执行的主机数占总数的比例:
- name: test play
hosts: webservers
serial: "30%"
本文内容由小开整理编辑!