【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

京东如何从 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:005653
用户头像

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

关注

评论

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

Desktop Goose for Mac(抖音桌面宠物鹅) v0.22激活版

魔仙苹果mac堡

mac软件下载 抖音桌面宠物鹅 桌面宠物软件推荐 Desktop Goose mac破解版

支持神经滤镜Photoshop 2023 (ps 2023)Mac v24.5/24.6b中文激活

真大的脸盆

Mac Mac 软件 ps神经滤镜 photoshop神经滤镜

软件测试/测试开发丨Web自动化测试常见控件交互方法

测试人

软件测试/测试开发丨Selenium Web浏览器控制

测试人

程序员 软件测试 自动化测试 测试开发

【活动回顾】Databend 数据库表达式框架设计与实现 @GOTC

Databend

中企出海,全球供应链业务如何更有效地经营?

用友BIP

中企出海 全球供应链

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力

openEuler

Linux 操作系统 openEuler risc-v embedded

索信达“数据资产管理解决方案”全解析

索信达控股

SeaTunnel毕业!首个国人主导的数据集成项目成为Apache顶级项目

Apache SeaTunnel

大数据 开源 数据集成 国产开源 Apache SeaTunnel

常用的表格检测识别方法——表格结构识别方法 (下)

合合技术团队

人工智能 深度学习 文字识别 表格检测

中核集团财务共享迈上新台阶

用友BIP

财务共享

火山引擎A/B测试:MAB智能调优实验,企业活动效果提升新利器

字节跳动数据平台

AB testing实战 A/B 测试

海量数据运维要给力,GaussDB(for Cassandra)来助力

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

看数智平台如何助力企业实现产业互联

用友BIP

数智平台

共建、共享开源EDA共性技术框架 | 2023开放原子全球开源峰会开源EDA分论坛即将启幕

开放原子开源基金会

开源 EDA 开放原子

信道的数学模型

timerring

信息论

【mac/win】navicat安装破解教程 Navicat 16 中文下载

魔仙苹果mac堡

Navicat Premium破解版 Navicat Premium16 navicat数据库 好用的数据库软件

创建编辑音频Audition 2022(AU2022)中文破解安装

魔仙苹果mac堡

AU2022破解安装教程 Audition 2022下载 Audition 2022中文版 Adobe AU

累计下载破 10 万,阿里云 ACR 制品中心 5 月最受欢迎镜像排行榜

阿里巴巴云原生

阿里云 阿里云云原生 容器镜像服务

云原生数据库厂商拓数派加入龙蜥社区,打造多样化的数据底座

OpenAnolis小助手

开源 操作系统 龙蜥社区 CLA 拓数派

抖音超火的文本生成图像的软件AI Photo for mac直装版

魔仙苹果mac堡

AI Photo下载 AI Photo破解版 文本到图像生成器 超火的抖音软件推荐

速来!TDengine 六周年线上生日趴,“送”周边大礼包啦

爱倒腾的程序员

时序数据库 ​TDengine taosdata

从Google、创业再到字节跳动,我在开源领域的实践与思考

开源雨林

创业 字节跳动 开源治理

波司登云原生微服务治理探索

阿里巴巴云原生

阿里云 微服务 云原生

对线面试官-线程池(二)

派大星

Java 面试题

一分钟跑出 AI 图像的生成平台

CODING DevOps

AI Cloud Studio 云端IDE

如何选择一款低代码平台?需要关注哪些细节?

这我可不懂

低代码 低代码平台 JNPF

百度商业AI技术创新大赛火热进行中,携手专家大咖一起创新为更好!

百度Geek说

人工智能 AIGC 企业号 5 月 PK 榜

Flink CEP 在抖音电商的业务实践|电商行业实践专栏上线

Apache Flink

大数据 flink 实时计算

探索云原生技术发展与应用实践,赋能企业数字化转型 | 2023开放原子全球开源峰会云原生分论坛即将启幕

开放原子开源基金会

开源 云原生

凝心聚力,共创未来 | 2023 开放原子全球开源峰会 OpenCloudOS 社区年会即将启幕

开放原子开源基金会

开源 云原生技术 OpenCloudOS 社区

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