2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

京东如何从 OpenStack 迁移至 Kubernetes

  • 2017-03-16
  • 本文字数:1383 字

    阅读完需:约 5 分钟

中国最大电商公司之一的京东,最近分享了自己通过 Kubernetes 对基于应用程序容器的基础架构进行革新,取代 OpenStack 托管的 IaaS 基础架构过程中所获得的经验。本次迁移同时涉及内部网络组件,借此可将资源利用率提高30%。

在采用应用程序容器技术之前,京东的基础架构部署经历了两个阶段:物理机(2004 – 2014)以及操作系统容器(2014 – 2016)。第一阶段主要使用手工管理的裸机硬件,但这一阶段遇到了很多问题,例如上线前的准备时间过长(从分配到应用程序上线约需要一周时间),缺乏隔离机制,资源利用率不足,调度机制不够灵活。计算机失败后往往需要花费数小时迁移应用,且缺乏自动缩放能力。工程团队针对日志收集、自动化部署、编译和打包,以及资源监视等常用任务开发了内部工具。

京东基础架构的第二阶段开始采用容器技术。当时使用了操作系统容器,这意味着需要将现有应用程序和部署架构整体迁入容器中。当时的容器可以看作是对他们原本采用的物理机进行精简后一种运行速度更快的“物理机”,并未采用已经完全成熟的“容器哲学”。

尽管如此,通过采用容器技术,他们已经在第二阶段从时间和资源的使用率方面获得了巨大的收益。当时他们使用OpenStack 作为编排层,并使用 nova Docker 驱动实现容器的管理。该团队选择 Docker 作为自己的容器平台,并逐渐向其中增添新的功能。所有应用陆续迁移到容器中,借此将计算资源请求的实现时间从原本的一周缩短至几分钟。应用程序的平均部署密度和物理机的利用率提升了三倍。该团队还针对部署任务构建了统一的 API,公司内部将其称之为 JDOS(JD Datacenter Operating System)1.0。

他们基于 OpenStack 的平台通过一个群集承载了大约 4000 至 10000 个计算节点。截至 2016 年 11 月,京东团队共运行了将近 150,000 个容器。这个平台帮助他们顺利度过了两次大流量在线促销活动,包括 2016 年双十一活动,共完成大约 3 千万个订单。

在第二阶段迁移至容器技术后,该工程团队已经可以对部署架构进行改动,使用容器作为基本的部署单位。公司内部将其称之为 JDOS 2.0。这个方法关注的并非基础架构本身的管理,而在于可感知应用程序的容器管理。他们的平台设计包含两个抽象:系统和应用程序。一个“系统”可包含多个“应用程序”,每个应用程序可包含多个提供相同服务的 Pod。一个系统对应着一个 Kubernetes 名称空间

其他组件还包括部署流程和容器化的 DevOps 工具,这些内容均部署在 Kubernetes 管理的平台上,此外还包括 Gitlab、Jenkins、Logstash、Harbor、Elasticsearch,以及 Prometheus 。部署过程中,源代码和 Dockerfile 会被推送至代码库和 Jenkins 构建。Jenkins 被配置为主从模式,其中从节点负责构建和打包应用程序,此外还有一个类似的节点负责构建容器映像。他们使用了 Harbor 这一开源的Docker 注册表存储所创建的映像。

图片来源: http://blog.kubernetes.io/2017/02/inside-jd-com-shift-to-kubernetes-from-openstack.html

为了在 Kubelets 和 OpenStack Neutron 之间实现更好的集成,京东根据 Container Networking Interface 标准自行开发了一个名为 Cane 的解决方案。在创建、删除或修改 Kubernetes 负载均衡器后,Cane 可以通知 Neutron 负载均衡即服务( LBaaS )系统。此外他们通过在 Cane 内部运行的 Hades 组件为 Pod 提供内部的 DNS 解析服务。

阅读英文原文 How JD.com Moved to Kubernetes from OpenStack

2017-03-16 19:006247
用户头像

发布了 283 篇内容, 共 123.0 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

天润融通分析Manus给AI客户服务带来哪些启示?

天润融通

天润融通走进蔚来汽车,探索AI在厂店一体化中的应用

天润融通

端侧 AI 时代,每台家居设备都可以是一个 AI Agent丨Voice Agent 学习笔记

RTE开发者社区

看鲲鹏算力生态 | 中国为全球数字化转型提供可复制的东方方案

极客天地

警惕!碎片化代码正在拖垮你的项目,完整生成才是王道

飞算JavaAI开发助手

在华为开发者空间:体验用仓颉基于DeepSeek开发智能聊天机器人

华为云开发者联盟

modelarts CodeArts 仓颉 DeepSeek 华为开发者空间

AI 工程师成长路线图

俞凡

人工智能

大型企业数字化转型中的低代码技术选型:金融/制造/零售行业落地案例深度解析

不在线第一只蜗牛

低代码

【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作

外滩运维专家

运维 SSL证书 免费通配符 免费证书 免费ssl

“一天成为 Java 高手” 是噱头?实测 AI 工具如何零基础写出专业级代码!

飞算JavaAI开发助手

SD-WAN专线在多分支组网与远程办公网络中的优势

Ogcloud

SD-WAN SD-WAN组网 SD-WAN厂商 sd-wan专线 SD-WAN厂家

SD-WAN厂商选择:Ogcloud SD-WAN解决方案怎么样?

Ogcloud

SD-WAN SD-WAN组网 SD-WAN厂商 sd-wan专线 SD-WAN厂家

DevEco Studio 联合小艺接入 DeepSeek,步骤更简单开发鸿蒙更专业

最新动态

大厂加码,小厂离席:DeepSeek驱动的MaaS之变

脑极体

AI

Java 开发工具合集:从入门到高手必备

飞算JavaAI开发助手

Tavus 发布对话轮次控制模型:能理解对话节奏和意图;百度推出 AI 情感陪伴应用月匣,整合 MiniMax 等模型丨日报

RTE开发者社区

06.依赖倒置原则介绍

杨充

接入手机后,DeepSeek难“转正”

脑极体

AI

BOE(京东方)携手微博举办“微博影像年”年度影像大展 创新科技赋能专业影像惊艳呈现

爱极客侠

长期主义:为什么说 AI 代码生成是 Java 开发者 2025 必学技能?

飞算JavaAI开发助手

告别加班!AI 生成精准代码,复杂业务逻辑一键搞定

飞算JavaAI开发助手

【连载 21】性能测试实践——超时结账第一回合

FunTester

DeepSeek的成功,真的抛弃了SFT吗?

澳鹏Appen

ChatGPT RL #大模型 DeepSeek SFT

数据高质量与合规,守护AI模型的真实未来

澳鹏Appen

人工智能 内容审核 训练数据

京东如何从OpenStack迁移至Kubernetes_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章