作者:洪爷不是我 | 来源:互联网 | 2023-09-05 15:35
【摘要】本文介绍如何通过配置优化,来加速Ansible的执行速度,以提高自动化运维的工作效率,做到等同于有代理通讯方式的效率。前言Ansible服务端使用了默认的SSH无代理方
【摘要】本文介绍如何通过配置优化,来加速Ansible的执行速度,以提高自动化运维的工作效率,做到等同于有代理通讯方式的效率。
前言
Ansible服务端使用了默认的SSH无代理方式与客户端通信,效率远低于有代理的通讯方式,然而通过本文,您将学习到如何通过配置优化,来加速Ansible的执行速度,以提高自动化运维的工作效率,做到等同于有代理通讯方式的效率,包括:
-
如何开启SSH长连接,避免SSH短连接的通信开销;
-
开启Pipelin-ing,利用SSH会话来缩短PUT脚本至远端客户端执行的流程;
-
开启Accelerate模式,利用远端客户端上运行的守护进程,优化Ansible的执行流程;
-
在Playbook中修改Ansible的执行策略,减少多主机批量执行过程的等待;
-
在Playbook中使用异步特性,减少执行任务的同步等待;
-
设置Facts缓存,通过提前将Facts信息缓存于本地JSON文件、Redis或Memcached内存数据库中,来提高PlayBook的执行效率。
1.Ansible执行速度过慢问题
在测试连通性的过程中,利用默认配置,发现有一个问题非常困扰,就是通过Ansible服务端向客户端执行命令非常缓慢,主要体现在创建SSH的通道很慢,虽然Ansible在同一个task里面是并行的控制多台受管端,但是每一个task都需要和受控端创建SSH通道