ansible优化:
- 关闭
facts收集 Forks主机连接数ssh长连接- 异步执行
- 开启
Pipelinling
优化变量收集facts
只需要在
playbook文件中加上gather_facts: no即可给
play单独添加一个setup模块,并通过gather_subset参数严格控制facts的收集种类,这样既拿到了我们需要的fact变量又提高了ansible的执行效率,gather_subset参数的默认值为all
Forks 主机连接数
根据控制节点的 CPU和 网络性能
修改默认配置 ansible.cfg1
forks = 15
开启ssh长链接
开启长连接后会有一个 established 的连接
openssh5.6 以后的版本支持了 multiplexing
1 | root@instance-1:~# ssh -V |
开启 Pipelinling
ansible.cfg 的 pipelining 参数设置为 True 即可
缺点:
要么 playbook 不使用 sudo 越权功能,要么取消 sudo 的 requiretty 特性
异步优化
1 | --- |
不适合异步
- 这个任务是需要运行完后才能继续另外的任务的
- 申请排它锁的任务