1.
当你的SSH的版本高于5.6时
我们可以直接修改 /etc/ansible/ansible.cfg里面的参数
ssh_args = -C -o ControlMaster=auto -o ControlPersist=5d
ControlPersist=5d这个参数是设置整个长连接保持时间设置为5天,如果开启,通过SSH连接过的设备都会在/ansible/cp目录下生成一个socket文件
如果你的SSH的版本低于5.6,需要使用yum对SSH升级
yum update openssh-clients
2.开启pipelining
我们可以直接修改 /etc/ansible/ansible.cfg里面的参数
pipelining=True
需要修改被控制主机的/etc/sudoers
编辑当前SSH用户配置为requiretty
3.开启ansible加速模式accelerate
1) 需要开启时首先要在远端机器安装 python-keyczar软件包
2) 需要在ansible-playbook的剧本文件中加入 accelerate: true
还需加入:
[accelerate]
accelerate_port = 5099
accelerate_timeout = 30
accelerate_connect_timeout = 5.0
4.设置facts缓存
1)需要在ansible-playbook的剧本文件中加入 gather_facts: False #可以直接关闭facts不收集远程主机信息
2)设置facts缓存: /etc/ansible/ansible.cfg
第一种方式:使用文件缓存
gathering = smart
facts_caching_timeout = 86400 # 设置缓存过期时间86400秒
facts_caching = jsonfile # cache文件是json格式
facts_caching_connection = /tmp/ansible/ansible_facts_cache #缓存文件的存储路径
第二种方式:使用redis存储facts文件需安装redis;yum install redis ;还需要安装pip install redis的python库
gathering = smart
facts_caching_timeout = 86400 # 设置缓存过期时间86400秒
facts_caching = redis # 使用redis 或者 facts_caching = memcached #使用memcached