Post
配置管理工具怎么选:agent 还是 ssh
配置管理工具真正先要想清楚的,不是哪家语法更好,而是你到底愿不愿意接受 agent 这层长期运维成本。
配置管理工具怎么选?puppet、chef、ansible、salt 这一类工具,经常容易从“语法风格”或者“功能丰富度”开始比较。
但如果真要在工程里长期用,我更倾向先问一个更基础的问题:
你愿不愿意接受
agent这层长期运维成本?
我之前用的是 salt,喜欢它那种简单、敏捷的感觉,也确实很顺手。
但后来越来越想切到 ansible,主要原因不是它“更新”,而是依赖 agent 的方案在实际环境里总会遇到一个反复出现的问题:
agent失连- 状态漂移
- 节点不稳定
这些问题单看都不算大,但只要节点规模一上去,就会变成一类持续性的系统噪音。
ansible 基于 ssh,至少在这件事上少了一层后顾之忧。你不需要先保证一套 agent 体系长期健康,才能让配置管理本身正常工作。
当然,这不是说 ssh 模式就天然完胜。问题还会继续往下走:
- 如果和
Docker结合,哪种方式更顺手? - 当系统越来越动态时,配置管理到底应该停留在“推配置”,还是进一步变成“声明目标状态”?
但在我看来,很多工具选择如果不先把 agent vs ssh 这层想清楚,后面的比较往往会失焦。