金融行业云平台架构总览及自动化运维平台(saltstack)演进规划

Posted 云架构师大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金融行业云平台架构总览及自动化运维平台(saltstack)演进规划相关的知识,希望对你有一定的参考价值。

云平台整体架构:

批量对多中心多活的2N台机器部署应用版本(每中心N台虚机)

  1. 调用CMDB和流程引擎完成变更申请和流程审批操作,并将应用版本和部署脚本上传到云平台NAS中,并将任务存入云平台oracle数据库

  2. 云平台识别任务所属中心,将应用部署任务发给不同中心puppet,然后将有任务的消息发送给不同中心mco3.Mco将消息发给activeMQ,activeMQ将消息多播给级联的activeMQ,每个级联acticeMQ集群约管理1000台mco agent,均为长连接。

  3. Mcoagent获取到消息后,触发puppet agent主动短连接puppet将部署包,安装脚本和任务拉取到本地执行。(正常情况下puppet agent不会主动连接Puppet)(如果应用版本较大,被管节点会通过sftp到云平台nas中获取版本)

  4. Puppet确认版本部署完成后将数据库中该次任务状态变成已完成,用户可看到任务进行的状态和结果。(如果任务超时还没有完成,则向MCO重发消息)


使用saltstack阶段1(管理几千台)


  1. 外部系统将批量配置任务发给salt调度平台

  2. salt调度平台识别属于不同中心或不同环境(开发、生产、测试等)的任务并访问不同域名的keepalived+nginx集群。

  3. keepalived+nginx集群收到请求后根据一定的负载均衡策略讲请求发送给Salt multimaster1或Saltmultimaster2(keepalived+nginx可以设置为主备或多主模式)

  4. Saltmultimaster1和Saltmultimaster2将需要共享的文件放在NAS或git中(如file_rootspillar_roots等)。

  5. salt调度平台通过saltapi轮询确认任务完成后返回给外部系统。


注:

1、外部系统和salt调度平台架构暂不讨论。

2、可横向扩展。

3、如果有硬件F5,可以替代keepalived。

4、建议所有内部访问都采用域名方式。

5、第一阶段根据实际情况甚至也可考虑去掉keepalive+nginx,让salt调度平台直接访问salt master。


使用saltstack阶段2(管理>万台)

  1. 增加syndic,每台syndic管理约千台minion,方便横向扩展

  2. saltmaster 、syndic将需要共享的数据放在NAS

  3. 采用redis保存jobcache,提高性能,避免数据丢失,采用数据持久化。


注:

  1. 建议所有调用都采用异步方式

  2. 只描述同阶段1不同的地方,未描述地方同阶段1相同



---------------END--------------

最近好文:





欢迎长按下图关注订阅云架构师大白,收看更多精彩内容您的订阅和转发,就是对我最大的赞赏!有其他任何问题可以留言或私信我。


以上是关于金融行业云平台架构总览及自动化运维平台(saltstack)演进规划的主要内容,如果未能解决你的问题,请参考以下文章

城商行生产环境的容器云平台同城及异地容灾架构设计难点解读

金融行业云管平台架构设计常见难点解读

混合云场景下金融级中间件自动化运维平台建设之路

银行云管平台有哪些架构设计难点和运维要点?

招行架构师徐佳航:金融云原生与开源标准的共同生长

容器云平台网络架构设计及优化 | 最佳实践