写点什么

大规模集群中 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:017229
用户头像

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

关注

评论 2 条评论

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

PostgreSQL 如何有效地处理数据的加密和解密

伤感汤姆布利柏

抖音商品详情数据接口(Dy.item_get)丨抖音平台API数据接口指南

tbapi

抖音商品详情数据接口 抖音API 抖音商品详情数据采集

软件测试学习笔记丨JUnit5动态测试的并行运行与分布式运行

测试人

软件测试

聊聊 Go 中的单例模式

左诗右码

Go

macbook触控栏养宠物:Touchbar pet for Mac 免费下载

你的猪会飞吗

Mac软件下载站

速卖通商品详情数据接口(aliexpress.item_get)丨速卖通平台API接口指南

tbapi

速卖通商品详情数据接口 速卖通API接口 速卖通 速卖通商品数据采集

百度网盘上线Apple Vision Pro 国行版迎来首个AI云存储类产品!

IT新闻资讯

拼多多商品详情数据接口(Pdd.item_get)丨拼多多API数据接口教程

tbapi

拼多多 拼多多商品详情数据接口 拼多多API

编写代码检查规则的神器,解读CodeNavi语法结构

华为云开发者联盟

软件开发 华为云 华为云开发者联盟 代码检查 企业号2024年7月PK榜

天猫商品详情数据接口(tmall.item_get)丨天猫平台API数据接口

tbapi

天猫商品详情接口 天猫API 天猫商品数据采集 天猫商品详情数据采集

Go 项目自动重载解决方案 —— Air 使用入门

左诗右码

Go

“小浣熊家族AI办公助手”产品体验 — “人人都是数据分析师”

Sunny_媛

#人工智能 AI Agent 小浣熊家族 小浣熊 AI办公助手

lazada商品详情数据接口(lazada.item_get)丨lazada平台API接口指南

tbapi

lazada商品详情数据接口 lazada API lazada商品数据采集

证券行业怎么定义,需要采购堡垒机吗?

行云管家

网络安全 金融 证券 数据安全 堡垒机

目前张家界正规等保测评机构有几家?在哪里?

行云管家

等保 等级保护 湖南 张家界

快手商品详情数据接口(KS.item_get)丨快手API接口指南

tbapi

快手 快手商品详情数据接口 快手API接口

闲鱼商品详情数据接口(Goodfish.item_get)丨闲鱼平台实时数据接口指南

tbapi

闲鱼 闲鱼API 闲鱼商品详情接口 闲鱼商品详情数据采集

万界星空科技新材料MES系统解决方案

万界星空科技

mes 新材料 万界星空科技 新材料mes

AI 应用实战营 - 作业 三- MidJourney参数测试

德拉古蒂洛维奇

京东工业平台商品详情数据接口(vipmro.item_get)丨京东工业平台数据API

tbapi

京东工业平台数据采集 京东工业平台 京东工业平台API接口

纺织业智能化与数字化转型:构建全流程智能物流与质量追溯体系

天津汇柏科技有限公司

数字化转型 纺织企业

OpenCV(C++)创建图片绘制图形(矩形、圆、文字、线段等等)

DS小龙哥

7月月更

苏宁商品详情数据接口(suning.item_get)丨苏宁平台API接口教程

tbapi

苏宁 苏宁商品详情数据接口 苏宁API

基于小浣熊办公场景的「大数据集分析」

悟空聊架构

AI 数据分析 悟空聊架构 商汤科技 小浣熊

软件测试学习笔记丨JUnit5动态测试的参数化

测试人

软件测试

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