写点什么

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

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

关注

评论

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

TiDB Binlog 源码阅读系列文章(七)Drainer server 介绍

TiDB 社区干货传送门

数据库开发 社区活动

业界首个!记忆张量携手商汤大装置开启国产 GPGPU 的下一代推理新范式

记忆张量MemTensor

AI agent AGI 记忆张量

并发容器的使用:识别不同场景下最优容器

zurhan

企业海外营销品牌建设:全球化品牌资产积累与价值评估

Wolink

跨境贸易 出海 海外社媒营销 海外营销推广 海外红人营销

工厂有了ERP,为什么还要上MES系统?

万界星空科技

数字化转型 制造业 ERP mes 万界星空科技mes

线上算不清ROI,线下管不住“小样”?赛博威全渠道费用管理助力美妆企业降本增效

赛博威科技

#人工智能 营销费用

超能小艺以AI赋能无障碍功能,诠释科技不让任何人掉队

新消费日报

AI泡沫什么时候破?

脑极体

AI

KOL营销内容创作指南:打造高互动率的优质内容

Wolink

出海服务商 kol推广 海外社媒营销 海外营销推广 海外红人营销

【Redis实用技巧#0】在Redis中,如何优雅地找出10万个指定前缀的key?

艾体宝IT

Reids

周跃峰接棒华为云CEO,会带来什么样的变化?

Alter

云计算 AI

网络安全整改:渗透测试的技术操作框架

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

新兴平台机会洞察:2026海外平台推广的蓝海机遇

Wolink

出海 海外社媒营销 海外营销推广 海外红人营销 品牌推广

TiDB 源码阅读系列文章(二十四)TiDB Binlog 源码解析

TiDB 社区干货传送门

数据库开发 社区活动

网络安全整改:安全基线核查的技术操作框架

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

AI赋能的外贸推广:智能工具提升海外营销效率的实践

Wolink

跨境贸易 出海 外贸独立站 海外社媒营销 海外营销推广

云CAD结合AI实现文生DWG图纸

WEB CAD SDK

祝贺朱雀三号首飞成功入轨!国产时序数据库 IoTDB 助力火箭试验

Apache IoTDB

实现简单的LLM

zurhan

为什么现在没有好产品经理了?【IPD产品研发管理】

IPD产品研发管理

产品 软件 产品经理 需求管理 硬件开发

营销费用的AI革命:为什么说真正的智能必须经历TPM-TPE-TPO的三级跳?

赛博威科技

#人工智能 营销费用

撰写优秀的 CLAUDE.md

zurhan

淘宝商品列表API在竞品分析中的创新应用

Datafox(数据狐)

淘宝API 关键词搜索淘宝接口 淘宝商品列表接口 淘宝数据接口 淘宝商品列表采集

网络安全整改:漏洞扫描的技术操作框架

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

NineData社区版V4.7.0发布!新增MySQL至TiDB等6条数据复制对比链路,SQL窗口新增谷歌云6种数据源类型

NineData

数据库 数据库管理工具 社区版 NineData 下载安装

微服务依赖理不清?飞算JavaAI三分钟生成架构图谱,精准识别循环调用与过度耦合

科技经济

海外网红推广价值延伸:从单次合作到长期品牌共建的路径

Wolink

跨境贸易 出海服务商 海外社媒营销 海外营销推广 海外红人营销

能否用图像代替文本来节省LLM token

zurhan

大模型基础概念解释

zurhan

2025CCF中国软件大会(CCF ChinaSoft) 智能化研发智能体技术论坛成功召开

华为云开发者联盟

红人营销矩阵:如何构建多元化的海外红人合作生态

Wolink

跨境贸易 出海 海外社媒营销 海外营销推广 海外红人营销

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