ansible 执行速度优化参考 —— 筑梦之路

配置ansible

1. 开启SSH长连接

# openssh 5.6 之后支持

sh_args = -o ControlMaster=auto -o ControlPersist=5d

# ControlPersist=5d这个参数是设置整个长连接保持时间这里设置为5天。
# 如果开启后,通过SSH连接过的设备都会在当前ansible/cp/目录下生成一个socket文件。也可以通过netstat命令查看,会发现有一个ESTABLISHED状态的连接一直与远端设备进行着TCP连接

2. 开启pipelining

# 开启pipelining,需要被控制机/etc/sudoers文件编辑当前Ansible SSH用户的配置为 requiretty。否则在执行Ansible的时候会提示sudo: sorry, you must have a tty to run sudo

pipelining = True

3. 开启accelerate模式

# 开启accelerate模式很简单,只要在playbook中配置accelerate: true即可。但是需要注意,如果开启accelerate模式,则需要在Ansible中控机与远端机器都安装python-keyczar软件包

[accelerate]
accelerate_port = 5099
accelerate_timeout = 30
accelerate_connect_timeout = 5.0

4. 设置facts缓存

1) json格式存储

gathering = smart
fact_caching_timeout = 86400
fact_caching = jsonfile
fact_caching_connection = /dev/shm/ansible_fact_cache

# 设置facts过期时间为86400秒(会根据文件的最后修改时间来确定facts信息是否过期),json文件存放在/dev/shm/ansible_fact_cache下。

2) redis存储

# 目前facts存储还不支持远端,所以需要在Ansible中控机上安装Redis服务,然后安装Redis Python库。使用yum install redis -y安装Redis服务即可。可以使用pip install redis安装Redis Python库。

gathering = smart
fact_caching_timeout = 86400
fact_caching = redis

3)memcached存储

# 与redis类似

gathering = smart
fact_caching_timeout = 86400
fact_caching = memcached

资料搜集自让你的Ansible执行速度提升十倍!

你可能感兴趣的:(linux系统运维,ansible,服务器,linux)