社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%

阿里云基础设施 • 1 年前 • 283 次点击  

作者:蔡靖、周章金、周晓晖


万兴科技深耕数字创意软件领域,并面向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:

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/product-overview/ack-one-overview


[2] ACK One舰队:

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/fleet-management/?spm=a2c4g.11186623.help-menu-85222.d_2_2.1d4514abkXsG8X&scm=20140722.H_354195._.OR_help-T_cn~zh-V_1


[3] ACK One GitOps:

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/gitops/?spm=a2c4g.11186623.help-menu-85222.d_2_2_4.59a04a88O6uf4gACK One CI/CD


[4] 最佳实践:

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/use-cases/ci-cd/?spm=a2c4g.11186623.help-menu-85222.d_3_6.56fa14abnAuKVq&scm=20140722.H_2802985._.OR_help-T_cn~zh-V_1


/ END /

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179224