自动化运维之SaltStack,架构分析和总结( 二 )


3、需要测试自动化运维的全部功能是否受syndic特殊节点的影响 。
4、Syndic-master出现问题 , 不好发现也无法自动解决 。
总结:
此架构可行的基础是要保证syndic节点的稳定性和不能影响saltstack原有自动化运维功能 , 花费的精力和代价可想而知 。
三 , SaltStack架构优化设想基于上述三种官方提供的架构方案 , 并考虑到上文提到的实践问题 , 这里设想和描画出一个相对简单的、可拓展的、稳定的saltstack架构 。
3.1 Multi-multimaster架构:
自动化运维之SaltStack,架构分析和总结文章插图
这种架构 , 横向扩展了Multi-master架构 , 存在以下优点:
1、在单个multi-master基础上将minion分为几部分 , 使每套master只对接某部分的minion , 减轻大规模部署的压力 。
2、由两个master来提供针对某个minion的控制 , 相当于全hot模式的主备 。
3、Master的稳定性及故障可恢复性由自研的调度系统进行保证 。
4、随着minion数目越来越多 , 我们很容易再次横向拓展而不会或较少影响运维功能 。
不足之处在于:
1、要保证master的长久稳定性(至少运维操作时的可用性) , 必须构建调度系统程序来进行监控、故障恢复 。
2、自制的调度系统实现较为复杂 , 应包含以下功能:
a) 用户指令到达时 , 能够定向到某个可用的master上 。
b) 应能够达到简单的均衡效果 , 可以通过随机数 。
c) 应能够发现并解决master出现卡死的问题 。
d) 应能够转送web端与python端的数据包 , 可以考虑特殊的sock模式 。
3、Minion配置master地址时 , 需要有规划 。 比如一对master管理~500个minion , 这样在自动化安装minion的时候需要额外注意master的当前负载 。
具体的实现与部署还需要进一步的研究 。


推荐阅读