Ansible管理上千台主机时需要的速度优化
Posted loveskey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible管理上千台主机时需要的速度优化相关的知识,希望对你有一定的参考价值。
1 开启ssh长连接
OpenSSH 5.6版本后SSH支持了Multiplexing
设置参数
ssh_args = -C -o ControlMaster=auto -o ControlPersist=5d
ControlPersist=5d //长连接时间保持5天
开启后,通过SSH连接过的设备会在当前目录.ansible/cp/目录下生成一个socket文件,通过netstat命令会看到,有ESTABLISHED状态的连接一直与远端社保进行tcp连接。
2 开启pipelining
执行流程优化
设置参数
pipelining = True
3 开启accelerate模式
accelerate在远端服务器上运行一个守护进程。
注意: 开启accelerate需要在管理与被管理端都安装python-keyczar软件包。
设置参数
[accelerate]
#accelerate_port = 5099
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0
4 开启facts缓存
如果你不使用facts里的信息,可以在playbook中设置gather_facts: False来提交效
设置参数
使用json文件存储facts信息,也可以使用redis或者memcached。需要安装依赖库。
gathering = smart
fact_caching_timeout = 86400
fact_caching = jsonfile
fact_caching_connection = /dev/shm/ansible_fact_cache
目前facts存储还不支持远端,所以需要在ansible管理机上安装redis服务,然后安装redis python库。pip install redis
设置参数
gathering = smart
fact_caching_timeout = 86400
fact_caching = redisAnsible速度优化
以上是关于Ansible管理上千台主机时需要的速度优化的主要内容,如果未能解决你的问题,请参考以下文章