如何优化Ansible的速度?

如何优化Ansible的速度?这个大家有什么好的方案吗?

1回答

jayciededejayciedede  技术经理 , 安图特(北京)科技有限公司
1.开启SSH长连接如果被管理机器的SSH -V版本高于5.6时,我们可以直接在ansible.cfg文件中设置SSH长连接。设置参数如下:sh_args = -o ControlMaster=auto -o Controlpersist=5d Controlpersist=5d 设置整个长连接保持时间为5天 2.开启pipelining如果开启了pipelining ,生成...显示全部

1.开启SSH长连接

如果被管理机器的SSH -V版本高于5.6时,我们可以直接在ansible.cfg文件中设置SSH长连接。设置参数如下:
sh_args = -o ControlMaster=auto -o Controlpersist=5d

Controlpersist=5d 设置整个长连接保持时间为5天

2.开启pipelining

如果开启了pipelining ,生成好的本地Python脚本PUT到远端服务器的过程会在SSH的会话中进行,这样可以大大提高整个执行效率。在ansible.cfg中设置:

pipelining = True

3.设置facts缓存

如果playbook不需要facts信息,可以在playbook中设置gather_facts:Fasle来提高playbook效率。但是如果我们既想在每次执行playbook的时候能搜集facts,又想加速这个收集过程,那么就需要配置facts缓存了。
可以在ansible.cfg中配置fact缓存使用redis:

[defaults]
gathering = smart
fact_caching = redis  #jsonfile等,使用json 需要指定fact_caching_connection指定存放路径
fact_caching_timeout = 86400
收起
 2019-12-27
浏览498

提问者

jwhdhr软件开发工程师, 农商银行

问题状态

  • 发布时间:2019-12-27
  • 关注会员:2 人
  • 问题浏览:1333
  • 最近回答:2019-12-27