Kubernetes 是架构的基础层

如今,在一家规模合理的技术公司,架构必须支持各种实例: - 生产微服务 - 批处理工作流 - 使用 GPU 进行机器学习培训和部署 - 研究与发展 而某些实例甚至可能需要定制硬件,因此,要求多重/混合云。我们的架构团队面临的挑战是降低整体系统复杂性,同时提供可延伸、可扩展的平台。一年半前,我曾讨论过使用 Kubernetes 进行大规模的深度学习研究。自那时起,这个平台以惊人的速度日臻成熟。在本次演讲中,我将阐述 Kubernetes 成为 Lyft 首选平台的原因,以及在此过程中面临的挑战和意外,最为自然的那些使用实例,以及我们如何迁移生产通信量。
展开查看详情

1.Kubernetes 用作基础 设施的基础层

2.大家好,我是 Vicki

3.● Lyft 创建于 2012 年 ● 2017 年乘车接单数达到 3.755 亿, 2018 年接单数相比上一年增加超过一倍 ● 截至 2018 年 9 月的总接单数达到 10 亿 ● 服务于 95% 的美国人

4.● 超过 300 项微服务 ● 超过 40,000 个 EC2 实例 ● 完全基于 Envoy 网状网络

5.基础设施需提供 充分支持和便利

6.支持 ● 微服务 ● 批处理任务 ● 机器学习模型训练 ● 研发/原型设计

7.便利 基础设施何时成为拖累?

8.表面积太大时!

9.考虑使用云 API 支持供应、配置、 运行和健康状况检查

10.构建一些抽象化功能

11.表面积太小会削弱可用性

12.Kubernetes 可为您的基础 设施提供一系列合适的抽象 化功能

13.实现 100% 的企业级迁移...

14.挑战 Kubernetes 生态系统还处于初期阶段, 正在快速发展

15.挑战

16.我们在做什么 内部“Lyft 集群”发布流程帮助验证社区版本

17.我们在做什么 与社区合作解决粗糙边缘问题

18.挑战 实施渐进式改进,全力支持工程师

19.我们在做什么 确保旧工具可与 Kubernetes 协调运行, 保证 UI 的可用性

20.挑战 您能为用户提供 Kubernetes 的多大可用性?

21.我们在做什么 提供相关工具,同时支持用户直接访 问 Kubernetes,确保其易于使用

22.挑战 安全自信地迁移生产流量

23.挑战 ● 单个请求需 20-30 项服 务的支持 ● 单个请求包括超过 200 次 RPC 调用

24.我们在做什么 网络层中 pods 和 EC2 实例之间的无缝路由

25.我们在做什么

26.我们在做什么 所有集群中的 pods 加入与旧堆栈 相同的 Envoy 网状网络

27.我们在做什么 K8s Pod EC2 服务 A Envoy 服务 B Envoy VPC IP:10.1.0.2 VPC IP: 10.0.0.2

28.我们在做什么 转 发 ot-span-context 头 。 服务 A K8s Pod 这 只 是 一 个 id。 Envoy Envoy 服务 B 跨度信息。大有效负载 跟踪采集器 基于 Envoy 的分布式跟踪

29.当前状态 Lyft 目前在 Kubernetes 上运行机 器学习训练和批处理任务