【ArchSummit架构师峰会】基于大模型的基础框架、中台、应用层等专题全覆盖 >>> 了解详情
写点什么

利用 GitOps 优化阿迪达斯的容器平台

  • 2024-05-04
    北京
  • 本文字数:1435 字

    阅读完需:约 5 分钟

大小:704.89K时长:04:00
利用 GitOps 优化阿迪达斯的容器平台

阿迪达斯(Adidas)最近讨论了他们如何将平台配置演变为基于 GitOps 的设置。在一系列的博客文章中,阿迪达斯详细阐述了 GitOps 在其容器平台中的使用情况,以及他们计划如何改进其平台的管理。


阿迪达斯模式可能不适合初创公司或科技公司的模式,但它的技术实施可以帮助各个团队提高效率。实施是从实体店到他们的在线平台,再到他们的产品设计团队。阿迪达斯的基础设施从中国延伸到新加坡,横跨欧洲,并延伸到了北美和南美,在云上运行着许多临时服务器,全天候运行容器,以支持全球开发团队。


在开始这段旅程时,每个容器集群都有自己的专用存储库,其中包含多个分支。这些存储库中的每个分支都有用于配置应用程序的管道。维护了一个共享配置存储库,其中包含基于环境或地理因素覆盖配置的各种分支。


此外,还有与阿迪达斯内部系统集成的代码库。中央存储库有助于为这些内部开发创建可部署的包。这种方法具有挑战性,比如更新一个组件,需要跨多个存储库进行修改,范围从四个到可能的五十个,每个存储库都需要单独的变更请求及其审查和批准流程。


阿迪达斯将其战略从推送模式转变成了拉取模式,在推送模式中,一个系统将配置推送给另一个系统,在拉取模式中,系统从配置存储库中检索配置。


随着容器平台的全球扩张,以及在多个执行环境中运行的多样化内部客户,阿迪达斯采用了分层的方法。初始层包含了适用于所有集群的设置,称为全局配置。


随后,有一个特定于执行环境的层,如开发、测试(QA)或生产环境。另一层与地理区域有关,解决了一些独特性的问题,如由于国外容器存储库的图像提取速度较慢,中国的数据检索优化。最后,还有特定于集群的配置层。


资料来源:我们如何管理容器平台:一个关于把握现在的故事


这种结构提供了跨四个配置层独立定制详细信息的灵活性。变更可以在全局、每个环境、每个地理区域或专门针对单个集群上实施,其中特定于集群的配置优先于地理、环境和全局设置。


通过实施上述方法,阿迪达斯可以简化平台集群管理。他们实施了一系列对平台稳定性产生真正影响的预警。团队现在可以通过预执行配置来试运行以预见即将到来的平台变更,从而对不同集群之间的潜在比变更提供更深入的见解。


由于这一转变,团队通过将配置整合到更少的存储库中,而不是将它们分散到多个存储库中,从而减少了操作时间。这种整合最大限度地减少了确保平台上应用程序配置准确性所需的手动操作。他们现在可以在不考虑集群数量的情况下扩展容器平台,但是由于容量的原因,在建立新集群时,一些手动任务仍然不可避免。


阿迪达斯改进容器平台的方法似乎与我们在 2023 年旧金山 QCon 上看到的 Hazel Weakly 的演讲一致。Weakly 讨论了最初对平台的关注点往往围绕着最大限度地减少工作量。这一方面虽然并不总是其他人的首要任务,但对于个人贡献者来说却是一个重要的关注点。然而,要建立一个有效的平台,必须协调所有利益相关者的优先事项。


阿迪达斯团队还引入了一种机制,使每个集群能够在指定的维护窗口内自主安排新配置的应用。事实证明,在阿迪达斯的关键销售活动中,这种机制是有益的,它可以防止可能影响阿迪达斯的业务中断。

最后,他们直接在配置存储库中实现了自动的变更日志生成,这对于跟踪平台的演进和了解其历史变更至关重要。


当谈到容器平台管理方面的改进计划时,即将到来的变更包括 Operations CLI,以简化集中点的操作。并规划了临时集群,以实现集群内的自动基础设施部署。这里详细阐述了类似的改进计划。


原文链接:https://www.infoq.com/news/2024/04/adidas-container-platform-gitops/


声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

2024-05-04 08:007592

评论

发布
暂无评论

二、基于 Dockerfile 构建并运行镜像

悟尘

Docker Kubernetes 容器 k8s Compose

七、Docker Compose 入门实践

悟尘

Docker Kubernetes 容器 k8s Compose

附录1、Docker 常用命令及示例

悟尘

Docker 容器

五、Docker 数据持久化存储与性能调优

悟尘

Docker 容器 k8s Compose kubernet

Hexo-admonition 插件安装使用指南

悟尘

Hexo Hexo-admonition Admonition

为什么说此前的WiFi安全方案都是小弟?

石君

wifi 无线网络 无线网络安全 Wi-Fi安全

长假将至,推荐两个好东西

池建强

算法 视觉笔记

意想不到的收获哦

南辞

告诉你一个学习编程的诀窍(建议收藏)

ithuangqing

学习 编程 自学编程

六、基于多阶段构建减小镜像体积降低复杂度

悟尘

Docker Kubernetes 容器 k8s Compose

H5功能足够强大,为什么还要微信小程序?

顾强

微信小程序 移动应用

附录4、Docker-compose 配置文件编写指南

悟尘

Docker Docker-compose

使用Typora + PicGo 图床 + jsDelivr CDN实现高效 Markdown 创作

悟尘

Typora PicGo iPic jsDelivr CDN

一、Docker基础入门及架构介绍

悟尘

Docker Kubernetes 容器 k8s Compose

四、Docker 网络原理、分类及容器互联配置

悟尘

Docker Kubernetes 容器 k8s Compose

写在开头

杨友峰

Java 期现

八、Kubernetes 入门实践

悟尘

Docker Kubernetes 容器 k8s Compose

源码分析 Vector 和 ArrayList

张sir

Java 源码 collection

Hexo-deployer-cos-cdn 插件安装使用指南

悟尘

Hexo COS CDN Hexo-deployer-cos-cdn

三、基于 Docker-registry/Nexus3 搭建本地仓库

悟尘

Docker Kubernetes 容器 k8s Compose

Netty 源码解析(二):Netty 的 Channel

猿灯塔

Netty

Netty 源码解析(三): Netty 的 Future 和 Promise

猿灯塔

游戏夜读 | 设计师的数据模型

game1night

废掉一个人最好的办法是让他忙到没有时间思考

熊斌

程序员 职场 思考

web集群架构

桥哥技术之路

VSCode-aliyun-oss-paste-image 插件安装使用指南

悟尘

vscode Paste-image

Redis高可用-哨兵模式配置

for

redis 高可用 主从配置 redis高可用 redis哨兵模式

我认为“写作平台”还缺少读者

小天同学

产品 反馈 写作平台 建议

附录2、Dockerfile 参考及最佳实践

悟尘

Docker Dockerfile

附录3、Docker-compose 命令使用指南

悟尘

Docker Docker-compose

Node.js 必知必会(安装配置、应用实例及同步控制)

悟尘

node.js

利用 GitOps 优化阿迪达斯的容器平台_架构_Aditya Kulkarni_InfoQ精选文章