京东是怎样在镜像中央存储库用 Harbor 节省 60% 维护时间的

挑战

京东技术架构负责开发超大规模容器化 Kubernetes 平台,支持京东零售的各种业务,包括有 3.8 亿活跃用户的网站。2016 年,团队需要云原生的registry,用来维护其镜像中央存储库。

解决方案

考察了包括Docker原生注册表在内的多个解决方案之后,京东决定选择 Harbor。“我们觉得 Harbor 最适合 Kubernetes 环境,能解决我们面临的问题,” 京东产品经理兼 CNCF 大使 Vivian Zhang(张丽颖) 说,“我们从最开始就是 Harbor 的忠实用户。”

影响

“Harbor 操作简单、运行稳定,为我们节省了大约 60% 的镜像中央存储库维护时间,” Vivian 说。此外,用 Harbor 还可以做镜像授权认证和访问控制,这些在以前都是没办法实现的。

挑战:
行业:
地点:
云类型:
产品类型:
出版:
June 24, 2020

使用的项目

一些数据

节省 60% 维护时间

上万容器镜像

数十兆兆字节的容器镜像数据量

按营收计算,JD.com 是全球第三大互联网企业,同时也总是把自己定位为“以零售为核心业务的科技企业,”京东产品经理兼 CNCF 大使 Vivian Zhang 张丽颖 说。

京东技术架构负责开发超大规模容器化 Kubernetes 平台,支持京东业务的各个层面,包括有 3.8 亿活跃用户的网站,和当日或次日即可处理 90% 以上订单的电子商务物流基础设施。

2016 年,团队需要云原生registry,维护其镜像中心仓库。具体来说,就是平台需要解决以下问题的解决方案:

  1. 用户授权和基本认证;
  2. 授权用户的访问控制;
  3. 镜像中心的 UI 管理;
  4. 镜像漏洞扫描,实现镜像安全。

团队考察了包括Docker原生的registry在内的多个解决方案,发现原生注册表有两个主要几个问题问题:需要进行授权认证,镜像元信息需要穿越整个文件系统。这样一来,使用原生registry,“无法达到我们对性能的要求,” Vivian 说。

Harbor 是 CNCF 自2018 年开始托管的云原生注册表项目,最终成为“最适合我们的产品,” Vivian 说,“Harbor 导入数据库,加速了镜像元信息的获取,更重要的是提高了性能。”

Harbor 同时整合了 Helm 的chart存储库功能,支持 Helm chart的存储管理,管理用户资源,比如 CPU、内存和磁盘空间等,这些对于我们来说都比较有价值。

“京东同时使用 Harbor 和其自研的存储产品,保证系统效率和性能的最佳状态。我们在 Harbor 的高可用性架构中,使用自己的开源项目 ChubaoFS 作为后端存储。”

— 张丽颖,京东产品经理兼 CNCF 大使

“我们觉得 Harbor 最适合我们的 Kubernetes 环境,能解决我们面临的问题,” Vivian说,“我们从最开始就是 Harbor 的忠实用户。”

为了保证其运行性能,“京东同时使用 Harbor 和自研存储产品ChubaoFS,确保最大化系统效率和性能,” Vivian 说。ChubaoFS,(目前为 CNCF 沙箱项目)这是一个为云原生应用提供高可用性分布式文件系统与对象存储的融合存储项目,为云原生应用提供计算与芒分离的持久化解决方案。高可扩展性强、高性能,支持多租户,一份主机同时支持POSIX接口和S3对象存储接口同时访问。ChubaoFS 作为 Harbor 的后端存储,集群中多个实体可以同时共享容器镜像。因为使用了 ChubaoFS,得以实现高可用性镜像中心集群。

Harbou与ChubaosFC的 架构图


Harbor 对京东的影响堪称深远。“Harbor 操作简单、运行稳定,为我们节省了大约 60% 的镜像中央存储库维护时间,” Vivian 说。此外,用 Harbor 还可以做镜像授权认证和访问控制,这些在以前都是没办法实现的。

“Harbor 是一个开源项目,众多贡献者会助力其持续发展。这符合我们开源技术的初心和使命,也能让各行各业的合作伙伴共同受益。”

— 张丽颖,京东产品经理兼 CNCF 大使

数千个节点、上万容器镜像和数十兆兆字节容器镜像数据量—京东的超大规模让我们必须采用某些最佳实践。“我们的数据中心分布在不同的地方,拉取镜像时就会有性能问题,” Vivian 说,“为了解决问题,我们用缓存在本地数据中心建了 Habor 集群,从而优化了镜像拉取的性能,提高了服务质量。”

跨地域IDC缓存架构图

总而言之,“Harbor 使用简便,” Vivian 说,“我们推荐 Harbor,是因为它具有稳定性、计算资源管理、UI 管理、整合chart和镜像漏洞扫描等功能特点。”

同时,Harbor 非常契合京东的“零售作为服务”战略。“Harbor 是一个开源项目,众多贡献者会助力其持续发展,” Vivian 说,“这符合我们开源技术的初心与使命,也能让各行各业的合作伙伴共同受益。”