ansible系列8-SSH連接和執行性能優化


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

sed -i '/Defaults.*requiretty/a\Defaults:\ test\ !requiretty' /etc/sudoers #添加用戶test !requiretty
sed -i "$a Defaults\:\ test\ \!requiretty" /etc/sudoers   #添加用戶test !requiretty

編輯當前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

     #查看redis存儲情況

        redis-cli               #登陸redis

        keyd *                 #找到所有鍵

        select 0              #切換庫

        get   鍵的名字    #查看值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM