提升 Ansible 执行速度的实用技巧
1. SSH 复用优化
Ansible 执行每个任务至少需要两个 SSH 会话:一个用于将模块文件复制到主机,另一个用于执行模块文件。使用 SSH 复用可以显著减少执行时间,每次 SSH 连接大约节省 0.3 秒。
Ansible 的 SSH 复用选项如下表所示:
| Option | Value |
| — | — |
| ControlMaster | auto |
| ControlPath | ~/.ssh/sockets/%r@%h:%p |
| ControlPersist | 60s |
通常不需要更改 ControlMaster 的默认值。 ControlPersist=10m 可以减少创建套接字的开销,但在笔记本电脑休眠且复用处于活动状态时,恢复网络连接可能需要一些时间。
需要注意的是, ControlPath 选项可能需要调整。因为操作系统对 Unix 域套接字的路径长度有最大限制,如果 ControlPath 字符串太长,复用将无法工作,而且 Ansible 不会提示该问题。可以通过以下命令测试:
$ CP=~/.ansible/cp/ansible-ssh-%h-%p-%r
$ ssh -o ControlMaster=auto -o ControlPersist=60s \
-o ControlPath=$CP \
ubuntu@ec
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



