企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1. 关闭ansible的ssh秘钥检查 vim /etc/ansible/ansible.cfg host_key_checking = False 2. open发送执行命令代替命令临时文件(针对不使用sudo,建议开启) vim /etc/ansible/ansible.cfg pipelinging = True 3. 升级openssh(升级到5.6以上) ``` openssh -V yum update openssh vim ~/.ssh/config Host * Compression yes ServerAliveInterval 60 ServerAliveCountMax 5 ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 4h ``` 4. 关闭gather facts,使用gather_facts关键字,如果要特殊开启, gather_facts: True vim /etc/ansible/ansible.cfg gathering = explicit 设置facts缓存,如果不想要禁用facts的话,可以使用缓冲 ``` vim /etc/ansible/ansible.cfg gathering=smart fact_caching_timeout=86400 fact_caching=jsonfile fact_caching_connection=/path/to/ansible_fact_cache ``` 5. 设置ssh长连接时间5天(openssh版本在5.6以上) vim /etc/ansible/ansible.cfg ssh_args = -C -o ControlMaster=auto -o ControlPersist=5d 6. 开启accelerate模式,使用accelerate关键字[新版本中废弃了这个特性,不符合ansible无客户端模式特性,不考虑] (需要在被管理机器上安抓python-keyczar包,如果使用sudo,需要禁用nopasswd功能) 在playbook中 ```yml --- - hosts: all accelerate: true vim /etc/ansible/ansible.cfg [accelerate] accelerate_port = 5099 accelerate_timeout = 30 accelerate_connect_timeout = 5.0 ``` 被管理机器(托管机)安装python-keyczar包 ```bash yum -y install epel-release yum -y install python-keyczar ``` 如果使用sudo,非root用户,需要在被管理主机上关闭requietty和nopasswd配置(略) 7. 并行执行,使用async和poll关键字(可以不考虑) 使用async和poll这两个关键字便可以并行运行一个任务. async这个关键字触发ansible并行运作任务,而async的值是ansible等待运行这个任务的最大超时值,而poll就是ansible检查这个任务是否完成的频率时间. ``` - name: update app shell: sleep 10 async: 1000 poll: 0 ```