写点什么

大规模集群中 Docker 镜像如何分发管理?试试 Uber 刚开源的 Kraken

  • 2019-03-06
  • 本文字数:937 字

    阅读完需:约 3 分钟

大规模集群中Docker镜像如何分发管理?试试Uber刚开源的Kraken

Docker 注册表的主要目的是存储和分发 Docker 镜像,看似是一个相对简单的任务,但是如果遇到了像 Uber 这样的大规模计算集群,就很容易成为可伸缩性的瓶颈。在多区域和混合云系统的计算环境中,镜像分发会变得更具挑战性。


为了解决遗留 Docker 注册表堆栈的性能问题,Uber 的集群管理团队开发了一个开源对等(P2P)Docker 注册表 kraken。


Docker 容器是 Uber 基础设施的基础构建块,但是随着计算集群数量和大小的增加,一个简单的带有 sharding 和缓存的 Docker 注册表设置无法跟上高效分发 Docker 映像所需的吞吐量。


Kraken 重点关注在可扩展性和可用性方面,用于混合云环境中的 Docker 镜像管理、复制和分发。支持可插拔的后端,Kraken 可以作为分发层插入到现有的 Docker 注册表设置中。



图 1 Docker 图像层分布在 Kraken 集群中的可视化

架构

在 Kraken 研发时,Uber 探索了多种设计,最终选择了 p2p 架构。Kraken 使用针对数据中心网络环境定制的 P2P 协议,并在企业级改进了微服务生命周期管理。



代替管理数据块,Kraken 支持可插入存储选项,可以插入可靠的 blob 存储选项,如 S3、HDFS 或其他注册表,且存储接口简单,易于添加新选项。


另外,Kraken 在现有的成熟技术上建立了独特的数据分发解决方案,支持自我修复,易于维护,支持集群之间的无损和基于规则的异步复制。

大规模的性能改进

2018 年年初,Kraken 首次部署在了 Uber 中,其在遗留 Docker 注册表堆栈中遇到的性能问题迎刃而解。


据悉,在 Uber 最繁忙的时候,Kraken 集群每天分发超过 100 万个 blob,其中有 10 万个分发的 blob 大小超过 1GB 或更多。在生产高峰期,Kraken 可以在 30 秒内分发 20000 个 100MB 到 1GB 的 blob。


Kraken 的高可扩展性使其能够支持至少 8000 台主机的集群,并以超过集群中主机最大下载速度限制 50%的速度分发 Docker 镜像。另外,对 Kraken 来说,集群和镜像大小对下载速度没有显著影响。


自内部发布以来,Kraken 一直被用于管理和分发 Uber 的所有 Docker 镜像。这次将该工具开源出来,Uber 表示希望能够激发有关工程和设计最佳实践的讨论,以便与 Docker 一起构建一个适应性强且可靠的基础设施。


Kraken 的 GitHub 地址:https://github.com/uber/kraken


Uber 博客的原文链接:https://eng.uber.com/introducing-kraken/


2019-03-06 15:017288
用户头像

发布了 34 篇内容, 共 28.8 次阅读, 收获喜欢 58 次。

关注

评论 2 条评论

发布
用户头像
Docker 注册表,我去年还买了个表……麻烦译者专业点……
2019-03-12 22:07
回复
用户头像
Docker 注册表,我去年还买了个表……
2019-03-12 22:06
回复
没有更多了
发现更多内容

火语言RPA--图鉴打码

火语言RPA

在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?

思码逸研发效能

DevOps 研发效能 研发效能度量 研发效能管理 思码逸

域名解析错误有哪些解决方法?

国科云

智源研究院与乐聚机器人成立具身智能联合实验室

智源研究院

国内做TikTok直播带货需要解决什么问题?

Ogcloud

TikTok 直播专线 tiktok直播 tiktok直播专线 tiktok矩阵

请查收| 京东零售技术AI领域前沿探索-10篇顶会论文合集

京东科技开发者

一年做一次,一次做半年,《DevData 2025研发效能基准报告》再度起航!

思码逸研发效能

研发效能 研发效能度量 研发效能管理 思码逸

TimechoDB v1.3.4 发布 | 新增模式匹配函数、数据导入导出脚本合并等功能

Apache IoTDB

不同Redis持久化方案在库存场景的性能评测

晨章数据

NoSQL 数据库 kv 数据库、

什么是 Python 解释器?

克莱因瓶

Python Python解释器

5 个适合小型企业使用的管理软件!(真实经验)

NocoBase

开源 低代码 企业管理 管理工具 无代码

热更新适配ibatis原理浅析

京东科技开发者

人工智能丨视觉识别在自动化测试中的应用

测试人

人工智能 软件测试

2025年深圳国际新能源电池及电池材料展会

秋硕展览

2025年睡眠展|2025广州国际睡眠家居产品展会

秋硕展览

人工智能在音频、视觉、多模态领域的应用

测试人

人工智能 软件测试

Kmesh v1.0正式发布!7大特性提升网络流量管理效率和安全性

华为云开发者联盟

云原生 华为云 服务网格 Kmesh

搜索技巧的逆袭:在AI统治的世界中寻找价值10分钟让你成为信息获取高手,效率提升300%!6个月构思,10天撰写(上)

AI决策者洞察

人工智能’ Prompt coze

请查收| 京东零售技术AI领域前沿探索-10篇顶会论文合集

京东零售技术

WebAssembly视频检测在社区创作平台的落地与实践 | 得物技术

得物技术

算法 前端

2025春招,Spring 面试题汇总

威哥爱编程

spring spring 面试题

Databend x 沉浸式翻译 | 基于 Databend Cloud 构建高效低成本的业务数据分析体系

Databend

字节 GUI 代理模型 UI-TARS:具备像人一样的感知、推理、行动能力;SLAM-Omni:支持可控音色的语音对话模型

声网

Jetpack架构组件学习——使用Glance实现桌面小组件

不在线第一只蜗牛

架构

让万物「听说」:AI 对话式智能硬件方案和发展洞察

声网

对象池框架 commons pool2 原理与实践

不在线第一只蜗牛

开发语言 对象池

大规模集群中Docker镜像如何分发管理?试试Uber刚开源的Kraken_开源_Uber_InfoQ精选文章