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


    配置ansible

    1. 开启SSH长连接

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

    2. 开启pipelining

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

    3. 开启accelerate模式

    1. # 开启accelerate模式很简单,只要在playbook中配置accelerate: true即可。但是需要注意,如果开启accelerate模式,则需要在Ansible中控机与远端机器都安装python-keyczar软件包
    2. [accelerate]
    3. accelerate_port = 5099
    4. accelerate_timeout = 30
    5. accelerate_connect_timeout = 5.0

    4. 设置facts缓存

    1) json格式存储

    1. gathering = smart
    2. fact_caching_timeout = 86400
    3. fact_caching = jsonfile
    4. fact_caching_connection = /dev/shm/ansible_fact_cache
    5. # 设置facts过期时间为86400秒(会根据文件的最后修改时间来确定facts信息是否过期),json文件存放在/dev/shm/ansible_fact_cache下。

    2) redis存储

    1. # 目前facts存储还不支持远端,所以需要在Ansible中控机上安装Redis服务,然后安装Redis Python库。使用yum install redis -y安装Redis服务即可。可以使用pip install redis安装Redis Python库。
    2. gathering = smart
    3. fact_caching_timeout = 86400
    4. fact_caching = redis

    3)memcached存储

    1. # 与redis类似
    2. gathering = smart
    3. fact_caching_timeout = 86400
    4. fact_caching = memcached

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

  • 相关阅读:
    RHCE8 资料整理(七)
    MySql 各种 join
    深度优先搜索详解
    【机器学习可解释性】4.SHAP 值
    Mysql函数
    jvm 内存区域划分-CSDN博客
    Linux Command echo
    Ubuntu下ClickHouse安装
    Kubernetes集群证书过期解决方案:使用kubeadm为证书续期
    复盘模型总结
  • 原文地址:https://blog.csdn.net/qq_34777982/article/details/134295067