Ansible性能优化

简介:

Ansible性能优化
1、优化前的准备--收集数据
任务计时插件:"ansible-profile"
Github 地址:https://github.com/jlafon/ansible-profile

cd /etc/ansible 
mkdir callback_plugins 
cd callback_plugins 
wget https://raw.githubusercontent.com/jlafon/ansible-profile/master/callback_plugins/profile_tasks.py


sed -i s#'\#callback_whitelist = timer, mail'#'callback_whitelist = profile_tasks'#g /etc/ansible/ansible.cfg

2、关闭Gathering Facts

playbook文件中加上 "gather_facts: no"

---
- hosts: web
  gather_facts: no
  remote_user: root

3、ssh pipelining --加速ansible执行速度
ssh pipelining 默认是关闭,之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选项。
如果使用sudo,必须关闭requiretty
打开此选项可以减少 ansible 执行没有传输时 ssh 在被控机器上执行任务的连接数。

#开启pipelining;/etc/ansible/ansible.cfg
pipelining = False  --> pipelining = true

4、Controlpersist
ControlPersist 特性需要高版本的 SSH 才支持,CentOS 6 默认是不支持的,如果需要使用,需要自行升级 openssh。ControlPersist 即持久化 socket,一次验证,多次通信。并且只需要修改 ssh 客户端就行,也就是 Ansible 机器即可。

# cat ~/.ssh/config 
Host * 
 Compression yes 
 ServerAliveInterval 60 
 ServerAliveCountMax 5 
 ControlMaster auto 
 ControlPath <a href="mailto:~/.ssh/sockets/%25r@%25h-%25p"><code>~/.ssh/sockets/%r@%h-%p</code></a>
 ControlPersist 4h
目录
相关文章
|
6月前
|
运维 Shell Linux
Ansible自动化运维工具之常用模块使用实战(5)
Ansible自动化运维工具之常用模块使用实战(5)
|
8月前
|
网络协议 网络安全
Ansible模块介绍——防火墙模块
Ansible模块介绍——防火墙模块
144 0
|
6月前
|
运维 Linux
Ansible自动化运维工具之常用模块使用实战(6)
Ansible自动化运维工具之常用模块使用实战(6)
|
9月前
|
Shell
ansible模块大全上【建议收藏】
ansible模块大全上【建议收藏】
104 0
ansible模块大全上【建议收藏】
|
5月前
|
网络安全 数据安全/隐私保护
ansible的get_url模块
ansible的get_url模块
|
5月前
|
存储 Linux Python
ansible手动添加模块
ansible手动添加模块
47 0
|
8月前
Ansible模块管理——磁盘管理模块、mount模块
Ansible模块管理——磁盘管理模块、mount模块
249 0
|
8月前
|
网络协议 网络安全 数据安全/隐私保护
Ansible模块介绍——配置网络模块、上传下载文件模块
Ansible模块介绍——配置网络模块、上传下载文件模块
267 0
|
8月前
|
应用服务中间件 nginx
Ansible模块——软件包管理模块
Ansible模块——软件包管理模块
|
8月前
|
数据安全/隐私保护 Python
Ansible模块介绍——用户管理模块
Ansible模块介绍——用户管理模块