【阅读原文】戳:阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
作者:蔡靖、周章金、周晓晖
万兴科技深耕数字创意软件领域,并面向AIGC时代深度布局,旗下已推出万兴喵影、万兴播爆等视频创意软件。自2023年以来,AIGC如火如荼,万兴科技也蓬勃发展,业务在全球加速扩张。
随着业务的发展,万兴科技业务团队需要管理的K8s集群越来越多,且分布在多个地域,对集群管理的复杂度也越来越高,对分布式、多集群交付平台的需求也越来越强烈,经过详尽的调研后,最终选定基于ACK One GitOps来做多集群的分布式交付。
多集群交付痛点
随着业务蓬勃发展,当前业务发布更多地依赖人工,痛点主要有以下几点:
1)提升部署效率、减少失误可能性
阿里云上ACK和云下IDC共数十个Kubernetes集群,逐个集群逐个应用部署效率较低,需要提高效率,并减少人工操作失误的可能性。
2)优化发布追踪和回滚流程
难以追踪每一次发布记录,且回滚需要重新走一次发布流程。
3)多部门多租户应用权限管理困难
传统模式下,要管理每位用户可操作的应用存在较大挑战,易导致用户在操作中影响到其他团队或用户的应用。
ACK One GitOps方案
分布式云容器平台ACK One是阿里云面向混合云、多集群场景推出的企业级分布式云容器平台,提供多集群统一管理能力。通过全托管Argo CD,在开源能力基础上提升稳定性和体验等,并集成阿里云上多项能力,为客户提供开箱即用的Argo CD能力,快速、一致、安全地实现多集群的应用持续部署。
GitOps是使用Git仓库来管理应用的部署模板,将Git仓库作为Kubernetes集群中部署应用的唯一来源,实现应用的持续部署。ACK One GitOps依托这一理念,在ACK One GitOps中建立应用与集群的关系后,仅需提交代码(push commit)到Git仓库,即可完成业务应用的自动部署/同步到相应集群,大幅减少人工操作、提升发布效率。
ACK One支持通过注册集群将云下IDC Kubernetes集群注册到ACK上。在此基础上,万兴科技通过ACK One舰队,开发并实施了一系列高效管理策略,对在阿里云上ACK和云下IDC的数十个Kubernetes集群进行统一管理。同时,万兴科技深度运用ACK One GitOps,实现数千个Argo CD applications的稳定高效地自动化持续部署、灰度发布,并实现基于阿里云RAM的应用级别的权限管理。
落地过程中万兴团队解决的问题
1. 随着业务在全球范围内的快速发展,万兴科技跨境发布频次快速增长,从国内到美西、欧洲的发布,最初通过公网发布,多次遇到超时问题。万兴科技灵活调整策略,切换为通过专线发布,成功解决了这一问题,确保发布的稳定和高效。
2. 当ArgoCD同时有多个应用发版时,Gitlab的默认配置难以承受压力,万兴科技团队在Gitlab参数上进行精准优化,有效提升了系统承载能力,顺利解决了这一问题,实现了多个应用同时顺畅发版。
3. 一个应用会有多机房、多环境(测试、UAT、生产等)部署的需求,应用更新时,默认会触发ArgoCD的所有缓存更新,对Gitlab造成很大压力。万兴科技在与阿里云的合作中,设计并实施了针对性的解决方案,将应用更新时的缓存更新限定在特定环境,巧妙解决这一问题。
落地成果
大规模应用大规模集群的稳定分发
在万兴科技与阿里云的深度合作中,对网络拓扑进行了全面优化,对社区ArgoCD进行大量参数调优,精准定位并修复了社区中的缺陷,显著提升系统稳定性。当前,ACK One GitOps已可轻松支持万兴科技全球数十个集群和数千个Argo CD applications的快速、稳定、高效地持续部署。
自动化分发流程
合作过程中,万兴科技团队基于ArgoCD打造了一套自动化交付的业务平台,深度整合万兴科技的业务需求与ArgoCD能力,实现一次代码提交即可触发全球多机房自动化部署,提升了部署效率。
多租实现多团队权限隔离
ACK One GitOps通过集成阿里云RAM系统,不仅支持RAM用户SSO到Argo CD UI,还实现了基于阿里云RAM的应用级别的多租隔离管控。通过简单的配置后,即可对万兴科技多部门多租户应用权限进行隔离,提升了应用的安全性。
发布审计和一键回滚
ACK One GitOps通过全托管的Argo CD,可记录每一次用户发布,方便查看具体发布内容;同时,ACK One GitOps具备一键回滚机制,可在发布异常后,一键回滚到指定版本,减少发布失误带来的损失。
灵活的灰度控制
万兴科技团队基于业务需求,结合ArgoCD、Argo Rollouts和service mesh,构建了一套利用Metrics分析做自动渐进发布或刹车回滚的灰度方案。
总结
ACK One GitOps是在阿里云上落地GitOps方法论最佳工具,在保持GitOps的优秀理念之外,和云上的各种权限体系和ACK集群做了全面打通,实现了开箱即用。
通过与阿里云的深入合作,万兴科技深度参与该方案的落地实施,并结合业务需求进行优化,有效解决了上述业务痛点,助力应用发布效率提升了50%。
欢迎通过搜索钉钉群号加入ACK One客户交流钉钉与我们一同交流。(钉钉群号:35688562)
相关链接:
[1] 分布式云容器平台ACK One:
[2] ACK One舰队:
[3] ACK One GitOps:
[4] 最佳实践:
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~