自动化运维工具的要求:
自动化运维工具最大的要求就是执行任务要完全可靠,不能因为网络和执行的主机数量造成消息丢失,导致任务超时。大家不要小看消息丢失的情况,一旦丢失,那么就需要人为判断、然后手动处理等等。
自动化运维工具的目标:
消息传递成功率:解决消息传递丢失率高
性能:能支持大批量主机执行命令
集群高可用:高可用我们还是采用了 Multi-Master 方式
消息加密:采用 AES-CBC
常用接口:Master 常用接口
维护成本:是否支持自升级
分布式
SaltStack 的缺点:
- SaltStack 使用的 Pub/Sub 方式,对网络和执行的主机数量要求“非常高”,如果任务超时没有返回,基本上只能重新执行,非常耽误时间
- 当 Minions 数量超过一定程度,管理和维护起来非常麻烦,轻易不敢重启 Master
- 线上 SaltStack 的版本不统一,对新功能兼容很差(例如zmq_filtering )
- Minions 维护成本较高,最重要的体现就是升级比较困难