ansible 并行执行
Ansible 是一种自动化配置管理工具,它可以使用多线程来并行执行任务。
Ansible 支持多种方式来实现并行执行:
在 ansible.cfg 中设置 forks 参数,用于指定最大并行线程数。
使用 -f 参数指定并行线程数。
在 inventory 文件中设置 max_procs 参数,用于指定每台主机的最大并行线程数。
在 playbook 中使用 async 和 poll 参数,在后台执行命令并在等待一段时间后检查结果。
下面是一个例子,指定并行线
指定并行线程数的例子:
ansible-playbook -f 10 myplaybook.yml
这个命令会在最多10个并行线程中执行playbook中的任务.
在 inventory 文件中设置最大并行线程数:
[my_group]
host1 ansible_ssh_user=root ansible_ssh_port=22 max_procs=20
host2 ansible_ssh_user=root ansible_ssh_port=22 max_procs=20
这样就是指定了每台主机的最大并行线程数为20.
在 playbook 中使用 async 和 poll 参数:
- name: Run a command in the background
command: /usr/bin/long_running_command.sh arg1 arg2
async: 3600
poll: 30
这个任务会在后台执行,并且每30s检查一次结果,直到3600s.
Ansible 提供了多种方式来实现并行执行,可以根据实际需求来选择使用.