优化
- 优化ansible速度
-
开启SSH长连接
# ssh版本:> 5.6 [ssh_connection] sh_args = -C -o ControlMaster=auto -o ControlPersist=5m #连接保留5d ansible.cfg -C 压缩传输 control_path_dir = $HOME/.ansible/cp control_path = %(directory)s/%%h-%%r
设置之后,连接信息会被保留在~.ansible/cp下, netstat -nltpa | grep ESTABLISH | grep ssh 会看到长连接存在
-
开启pipelining
ansible执行过程中,他会基于调用的模块生成一个python脚本,然后将python脚本复制到主机上,最后执行脚本.
ansible支持一个优化,叫做pipelining,在这个模式下ansible执行脚本时并不会去复制它,而是通过管道传递给ssh会话,这会让ansible的ssh会话从2个减少到1个,从而节省时间.[ssh_connection] pipelining = True # sudoer配置要关闭requiretty选项(不需要再终端执行sudo命令) use_tty = False
-
scp_if_ssh
scp_if_ssh=False
用户操控一个一个没有开启SFTP协议的远程系统.如果这个设置为True,scp将代替用来为远程主机传输文件:
-
设置facts 缓存
# 保存json文件 gathering = smart