SaltStack 高可用
Contact me
或者用邮件交流 jacky.wucheng@foxmail.com
参考资料
- HIGH AVAILABILITY FEATURES IN SALT
- MULTIMASTER
- 每个master需要有相同的私钥, minion的key在每个master上单独accept.
- file_roots和pillar_roots里的东西, 使用外部方法在各个master上保持一致.
- MULTIMASTER WITH FAILOVER
- master_type模式为failover时代表一个minion只连接一个master. 每个master_alive_check周期都会检查当前连接是否有效, 若否就连接下一个master.
- master_shuffle: True可以让minion随机连接master.
- SYNDIC
- 可以在架构拓扑上扩展master的能力, 扩大集群的规模.
- SYNDIC WITH MULTIMASTER
- 让一个SYNDIC可以连接多个master, 提升冗余度.
- MULTIMASTER
- Saltstack 高可用架构漫谈
- 推荐使用 Multi-Master + Multi-Syndic + Minion 的架构.
- ext job cache + returner 使得同步调用变成异步成为可能.
- 调整salt api的调用方式(从同步改成异步), 极大的减轻Master的负载,将压力均摊到了redis cache.
- nginx + UWSGI 给 salt api 做负载均衡.
- Syndic的逻辑是接收Minion的执行结果然后返回给Master, 相当于Master下发一条命令会受到一次ddos, 这个问题需要更好的异步方案来解决.
- 将syndic的job event吐到了统一的外部的 redis job cache
- SaltConf15 - Thomas Jackson, LinkedIn - SaltStack at Web Scale…Better, Stronger, Faster
- salt multi-master + syndic + heartbeat构造salt高可用集群. 用heartbeat保证两台syndic处于冷备的高可用状态.
- 用DNS实现高可用的multi-master架构
- saltstack与docker结合构建高可用和自动发现服务