ansible - 如何提高ansible速度?
问题描述
我有1000台服务器。当我运行 ansible 时,收集事实需要很多时间。有没有人有解决方案?我可以将收集的事实存储到文件中然后从中读取吗?
第二个问题是,起初我可以用我的密钥 ssh 到 1000 台服务器,但一段时间后它不接受我的密钥,我应该打开新会话,所以我运行 10 台服务器的 10 台服务器。我应该怎么办?
解决方案
Ansible 支持许多缓存插件,您可以使用这些插件来保存事实,这样就不需要每次都收集它们。
例如,将以下内容添加到您ansible.cfg
的目录中以缓存为 JSON 文件.facts
:
[defaults]
gathering = smart
fact_caching = jsonfile
fact_caching_connection = ./.facts
fact_caching_timeout = 86400
这些fact_caching_timeout
设置控制缓存信息被视为有效的时间。记住这一点很重要:例如,如果您向主机添加新的网络接口,它不会显示在 ansible 事实中,直到 (a) 先前缓存的信息过期或 (b) 您明确强制收集事实.
推荐阅读
- javascript - 在 MEAN Stack 开发中,我应该将业务层放在哪里?
- abap - 从 RFC 调用中的任意行号中选择数据库表
- c# - 在 Unity3d 中为 iOS 构建真实世界的指南针
- google-cloud-platform - 使用 ngnix 入口控制器作为节点端口的 GCP 内部负载均衡器:连接被拒绝
- appium - Appium Inspector 在错误的 AVD 中启动应用程序
- typescript - Ionic 3 过滤器列表
- c# - 如何将 processid 添加到 log4net 布局?
- java - 从终端启动的 Netlogo 在子目录中不起作用
- javascript - 使用 Javascript Fetch API 访问 JSON 输出中的第一项
- node.js - Nodej.js:由于不必要的查询参数,静态文件缓存不起作用