写点什么

优步针对微服务和大规模计算工作负载完成了大规模的 Kubernetes 迁移

作者:Claudio Masolo

  • 2025-05-31
    北京
  • 本文字数:1685 字

    阅读完需:约 6 分钟

大小:828.08K时长:04:42
优步针对微服务和大规模计算工作负载完成了大规模的Kubernetes迁移

优步(Uber)已成功完成一项大规模的Kubernetes迁移,将其整个计算平台从Apache Mesos迁移到Kubernetes,覆盖了多个数据中心和云环境。这家网约车巨头的工程团队在一系列技术博客文章中详细描述了他们的全面旅程,揭示了迁移数千个微服务和大规模计算工作负载时所面临的挑战、解决方案和经验教训。

 

这一迁移代表着优步基础设施架构的根本性转变,影响着全球市场上从叫车到送餐的数千项服务。该公司之前的计算平台是基于 Apache Mesos 构建的,在优步(Uber)快速增长阶段为其提供了良好的服务,但随着组织向更云原生的方式演进,它也呈现出了局限性。

 

优步的工程团队解释说:“这次迁移不仅仅是一次技术变革,而是对我们如何运营计算基础设施的彻底重新构想。”该项目历经多年,并需要在众多工程团队之间进行了仔细协调,以确保关键服务的零停机时间过渡。

 

优步对 Kubernetes 迁移的方法是有条理且存在风险规避的,优先考虑服务的可靠性而不是迁移速度。工程团队开发了一个复杂的迁移框架,允许逐步进行服务转换,同时保持与现有基于 Mesos 的服务的完全向后兼容性。

 

迁移策略围绕几个关键原则展开:

  • 在整个转换过程中保持服务的可靠性

  • 确保与现有工具和工作流程的无缝集成

  • 在新的 Kubernetes 环境中建立健壮的监控和可观测性能力。

 

该团队采用了双栈方法,在过渡期间同时在 Mesos 和 Kubernetes 上运行服务,以最大限度地降低风险。

 

最重要的技术挑战之一是如何调整优步内部广泛的工具和平台套件,使其与 Kubernetes 适配并协同工作。这包括重新实现部署管道、监控系统和与 Mesos 生态系统紧密集成的服务发现机制。

 


优步从 Mesos 迁移到 Kubernetes 的生态系统

 

除了迁移标准的微服务之外,优步还面临着迁移大规模计算工作负载的复杂性挑战,这些工作负载为包括机器学习模型训练、数据处理管道和分析工作负载在内的关键业务功能提供动力。由于资源需求和性能敏感性,对这些计算密集型应用程序提出了独特的挑战。

 

工程团队为在 Kubernetes 中处理这些工作负载开发了专门的解决方案,例如将 DSW 会话建模为 Kubernetes 中的自定义资源定义(Custom Resource Definition,CRD),优化的网络配置和增强的调度能力。优步工程师还使用 Federator 实施了复杂的资源分配机制,Federator 是一个集群联邦层,提供了对 Kubernetes 批处理集群的抽象。这因为如此,大规模批处理作业才可以与实时服务高效共存,而不会影响面向用户的应用程序。

 


使用联邦和不使用联邦的 Kubernetes 集群

 

迁移过程中并非没有重大的技术障碍。优步的工程团队遇到了与网络复杂性、大规模资源管理和在不同基础设施范式之间保持性能基准相关的挑战。该公司的全球业务对此增加了额外的复杂性,需要在多个地区和云提供商之间提供一致的有效解决方案。

 

其中一个特别的挑战是,在将服务前移到新平台时,需要保持优步严格的延迟要求。团队实施了全面的性能测试和逐步的推出策略,以确保在整个迁移过程中服务质量能保持一致。

 

工程团队还必须解决文化和运营方面的挑战,包括培训数百名工程师以了解 Kubernetes 的概念,并更新开发工作流程以与云原生实践保持一致。

 

完成的迁移在多个维度上带来了实质性的好处。优步报告说称,其运营效率得到了提高,开发人员的生产力得到了增强,整个基础设施的资源利用率也得到了提高。迁移到 Kubernetes 还使公司能够更好地利用云原生技术和实践,实现了更快的创新和更灵活的部署策略。

 

新平台提供了增强的可扩展性能力,使优步能够更有效地处理流量高峰和季节性的需求变化。此外,迁移还简化了优步的基础设施管理,降低了运营开销,并使团队能够更多地专注于产品开发,而不是平台维护。

 

同样,其他大公司也将他们的核心基础设施迁移到了 Kubernetes:Figma 在 12 个月内将核心服务迁移到了 Kubernetes,或者像 CERN 这样的组织,他们将 CMSWEB 集群迁移到了 Kubernetes。这些例子以及优步成功迁移到 Kubernetes 的案例,为其他考虑类似转型的大型组织提供了宝贵的案例研究。该公司详细记录了他们的旅程,提供了对企业采用 Kubernetes 的最佳实践的洞见,特别是对于那些在显著规模上运营的组织。

 

原文链接:

https://www.infoq.com/news/2025/05/uber-kubernetes-migration/

2025-05-31 12:005497

评论

发布
暂无评论

我愿沉迷于学习,无法自拔(三)

孙瑜

深度思考 程序员 感悟

Java并发编程系列——锁顺序

孙苏勇

Java Java并发 并发编程 多线程

iOS Release 版本开启调试功能

liu_liu

ios release 调试

Spring中的测试类~简洁方便

程序员的时光

spring

Kafka系列第4篇:消息发送时,网络“偷偷”帮忙做的那点事儿

z小赵

kafka 推荐 实时计算

KubeFATE: 用云原生技术赋能联邦学习(二)

亨利笔记

Kubernetes 云原生 k8s FATE KUBEFATE

职场“35岁现象”:焦虑 or 出路?是时候说出真相了!

狂师

职场 成长 软件测试 测试 软件开发

如何梳理画出牛逼的、高大上的架构图?

狂师

程序员 企业架构 开发者 软件测试 软件开发

从Integer开始阅读JDK源码

指尖流逝

Java jdk源码

制作Unknown Pleasures效果图的3种方法

张云金_GISer

设计 T恤 GIS 地图

Spring Cloud概述

会飞的猪

记录自有意义

彭宏豪95

人生 写作 感悟 记录

Nacos 1.1.4 与微服务的实践经验记录

itfinally

Java 微服务 nacos

动态规划问题的思路和技巧

Kenn

算法 动态规划

聊聊数据库原理和索引结构:1000万条数据优化后为什么能提升1500倍

牧码哥

MySQL 数据库 数据结构 性能优化 索引结构

游戏夜读 | 2020周记(4.3-4.10)

game1night

聊聊测试工程师的价值

软件测试 质量 测试工程师产出 测试的价值

Java新技术:文字块

X.F

Java 编程语言

Dubbo 概述

会飞的猪

程序员陪娃漫画系列——上学路上

孙苏勇

程序员 生活 陪伴 漫画

动画设计的十个原则

养牛致富带头人

设计 动画

20 大类,100+ 网络副业兼职平台汇总推荐

一尘观世界

程序员 自由职业 副业 赚钱

为什么每个软件人都要懂点系统架构?

刘华Kenneth

架构 DevOps 高可用 敏捷 高并发

技术人员加薪二三事

南方

管理 职场 技术管理 加薪 劈空掌

找工作不得不知道的事

熊斌

认知提升 求职

缓存的五种设计模式

Rayjun

缓存

Redis学习笔记(概述)

编程随想曲

redis

Boyer-Moore 算法

Kenn

算法 数组 Boyer-Moore

认识数据产品经理(一 数据产品经理的细分)

马踏飞机747

大数据 数据中台 数据分析 产品经理

为AndroidApk添加系统级签名

Howe

Java android

JAVA中Base64加密与解密

Howe

Java base64 加密解密

优步针对微服务和大规模计算工作负载完成了大规模的Kubernetes迁移_云计算_InfoQ精选文章