Nydus 镜像加速插件迁入 Containerd 旗下

Nydus 容器镜像加速服务 - 架构设计与技术文档 Nydus 是一个高性能容器镜像加速服务,由 Rust 语言实现。它通过在 RAFS(Registry Acceleration File System)格式上实现内容寻址文件系统,显著提升容器启动速度、降低存储和网络带宽消耗。核心优势:快速启动:秒级容器启动,毫秒级函数计算代码包加载按需加载:以 chunk 为单位按需下载镜像数据节省资源:chunk 级别数据去重,跨层/跨镜像降低存储、传输和内存成本端到端安全:数据完整性验证,可检测供应链攻击。 阅读详情

764d64e3cf23330f2219772609a22ab9.gif

文|葛长伟(花名:川朗 )

蚂蚁集团技术专家

负责容器镜像加速项目 Nydus 的开发和维护

专注于容器镜像存储、持久存储和文件系统领域

本文 1597 字 阅读 4 分钟

前言

Nydus

今年 1 月 ,Containerd 社区通过投票接收 Nydus-Snapshotter 成为 Containerd 社区的子项目。这是继 ttrpc-rust 之后,蚂蚁容器团队再次向 Containerd 捐赠子项目。

此举将方便 Nydus 和 Containerd 的开发协同,减少项目迭代过程中可能出现的不兼容问题,也让用户可以更容易地使用 Nydus 镜像加速服务。

目前 Nydus 已经将 Nydus-Snapshotter 的代码迁移到了 Containerd 组织下的新仓库[1]。

Nydus 简介

Nydus

Nydus 是蚂蚁集团和阿里云共同开源的容器镜像加速项目,属于 CNCF Dragonfly 项目,是其中的镜像服务部分。

Nydus 是在最新的 OCI Image-Spec 基础之上设计的容器镜像加速服务,重新设计了镜像格式和底层文件系统,从而加速容器启动速度,提高大规模集群中的容器启动成功率。

Nydus 设计了一个为镜像优化的文件系统—Rafs。

Nydus 镜像可以推送和保存在标准的容器镜像中心,Nydus 镜像格式完全兼容 OCI Image Spec 和 Distribution Spec。成功转换或者创建镜像后,Nydus 镜像会生成一个元数据文件 Bootstrap、若干个数据文件 blob、manifest.json、config.json。

目前可以通过 Nydusify 、Acceld 或者 Buildkit 创建 Nydus 加速镜像。

其中,Acceld[2] 是 Nydus 和 eStargz 的开发者正在合作开发的 Harbor 开源企业级镜像中心的一个子项目,它提供了一个通用的加速镜像转换服务和框架。基于 Acceld,Nydus 和 eStargz 可以方便地从 Harbor 触发加速镜像转换。

与此同时,Nydus 也在开发 Buildkit 相关的支持,在未来也可以直接通过 Buildkit 从 Dockerfile 直接创建加速镜像。

Nydus-Snapshotter 是 Containerd 的 Remote Snapshotter 插件,它是一个独立于 Containerd 的进程。

当集成 Nydus-Snapshotter 到 Containerd 后,Nydus-Napshotter 在容器镜像准备阶段,只会将 Nydus 镜像的元数据部分 Bootstrap 从镜像中心下载下来,并且创建了一个新的进程 Nydusd。Nydusd 是处理文件系统操作的用户态进程。通过配置,Nydusd 可以作为基于 Linux FUSE 的用户态文件系统 virtio-fs vhost-user backend,甚至可以是 Linux Fscache 的用户态进程。

Nydusd 负责从镜像中心或者对象存储下载文件数据以响应读文件的请求,并可以将文件数据块缓存在 Host 的本地文件系统。

69baa0efcfd1490251d1105ee13bff00.png

Nydus 特性

Nydus

Nydus 有如下重要的特性:

1、镜像层间块级数据去重,可以减少镜像中心的存储成本,降低数据传输的带宽消耗。

2、Whiteout 文件不会再被打包进 Nydus 镜像。

3、端到端的数据完整性校验。

4、作为 CNCF 孵化项目 Dragonfly 的子项目,Nydus 可以接入 P2P 分发系统,以此降低对镜像中心的压力。

5、支持数据和元数据分离存储。可以将数据保存在 NAS、阿里云 OSS 或者 AWS S3。

6、支持文件访问行为记录,这样就可以审计和分析容器内应用的访问行为。增强安全能力、优化镜像数据排布。

除了以上的关键特性,Nydus 可以灵活地配置成 Linux FUSE 用户态文件系统、基于轻量虚拟化技术容器的 Virtio-fs daemon,或者 Linux 内核磁盘文件系统 EROFS 的用户态 on-demand 数据下载服务:

1、轻量化地集成到 vm-based 容器运行时。现在 KataContainers 正在考虑原生地支持 Nydus 作为容器镜像加速方案。

2、Nydus 和 EROFS 紧密合作,期望可以直接使用 EROFS 作为容器镜像的文件系统。相关修改的第一部分已经合并入 Linux Kernel v5.16。

Nydus 部署形态

Nydus

支持 Runc 时,Nydus 作为 FUSE 用户态文件系统进程:

f06ef5ecb7166bfd08751a848f684cc7.png

支持 KataContainers 时,Nydus 作为 Virtio-fs daemon:

b7ab00b89ad3858581c5abed62be4c2b.png

目前 EROFS 正在尝试联合 Fscache 一起,以内核文件系统 EROFS 直接作为容器 Rootfs:

65b7745b64b7f61e547fef22e167406c.png

Nydus 将与 Containerd 社区紧密合作,致力于提供更优秀的容器镜像加速方案,提高镜像的存储和分发效率,提供安全可靠的容器镜像服务。

「参 考」

[1] nydus-snapshotter repository: https://github.com/containerd/nydus-snapshotter.

[2] acceld repository: https://github.com/goharbor/acceleration-service

求贤若渴:

关于蚂蚁集团可信原生技术部安全容器和存储团队。在蚂蚁集团内部主要负责公司内部容器运行时和云原生存储技术,是公司数据链路的守护者,运行时环境的看门人。我们团队也是 Kata Containers 的创立者,镜像加速服务 Nydus 的发起者,分布式事务服务 Seata 的维护者,也维护着公司内数据访问组件 ZDal/ZCache/XTS 等产品。

我们是开源精神的信徒,也是实现开源软件和公司业务双赢的践行者。我们是一个关注业务、关注业界前沿、关注基础设施技术,更关心成员成长的团队。目前我们正在招收 2023 届实习生,有兴趣的可以参考蚂蚁集团2023届实习生招聘。

联系邮箱:liyuming.lym@antgroup.com

   本周推荐阅读  

126ae0f4e9a93574db657b440cc8d5af.png

恭喜 李志强 成为 Layotto committer!

ccba0d3b8a5b611143e32cc4579cfb05.png

社区文章|MOSN 路由框架详解

b58c8c125ec5990af39fd20f11909d35.png

HAVE FUN | SOFARegistry 源码解析

f9706526cab13dfd40339a0ef8725739.png

BabaSSL:支持半同态加密算法 EC-ElGamal

b5f34a78b6e1fd17c80f92afa1ec1e2c.png

Nydus容器镜像加速:原理、部署与生产实践指南 在云原生和容器化技术领域,容器镜像的存储与分发效率是影响应用部署速度的关键因素。传统OCI镜像采用全量拉取模式,导致启动延迟高、存储冗余大。Nydus通过引入RAFS镜像格式,实现了块级去重与按需加载的核心原理,将镜像数据切分为内容寻址的块,仅在容器运行时访问文件时才动态拉取对应数据块。这项技术显著提升了容器启动速度,减少了网络带宽消耗和存储空间占用,其价值在于为大规模、高密度部署场景(如Kubernetes弹性伸缩和Serverless冷启动)提供了高效的解决方案。通过集成containerd snaps 阅读详情

相关推荐

Nydus: 优化 AI 场景下的容器镜像加载

Nydus 是一个自定义的文件系统格式(Rafs),专为容器镜像优化设计。它的核心特性是实现镜像文件的按需加载,这对于 AI 场景尤其有用。在 AI 的推理或训练过程中,镜像大小常常从几 GB 到几十 GB 不等,Nydus 可以显著提高这些大型镜像的加载效率。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 626

Nydus:加速容器启动的利器

Nydus 是由 Dragonfly 团队开发的一款高性能容器镜像服务,旨在通过优化容器镜像的加载和分发,显著提升容器的启动速度、降低网络带宽和存储成本,并增强数据完整性。Nydus 实现了基于 RAFS 格式的内容寻址文件系统,是对当前 OCI 镜像规范的重大改进。 Nydus 的核心优势在于其能够实现秒级的容器启动速度,尤其是在处理大型 OCI 镜像时,其性能提升尤为明显。通过 Nydus,

gitblog_00781的博客 1194

在 Windows 上安装 OpenCV – C++ / Python

而且,安装并不是一件容易的事。这些安装程序仅适用于安装 OpenCV for C++。如果您想安装适用于 Python 的 OpenCV,您将在博客后面找到相关信息。在这篇博文中,我们将在 Windows 上安装适用于 C++ 和 Python 的 OpenCV。C++ 安装是在自定义安装 exe 文件的帮助下完成的。而Python的安装是通过Anaconda完成的。从源代码安装 OpenCV 需要花费大量时间。根据您的硬件和安装配置,该过程可能需要 5 分钟到 2 小时不等。

Demondai999的博客 2091

阿里云、蚂蚁开源 Nydus——容器镜像加速服务

近日,Dragonfly 项目引入了一个容器镜像加速服务 nydus。据悉,nydus 是由阿里云和蚂蚁集团的工程师合作开发,并大规模部署在内部的生产环境中。 据Dragonfly 发布的消息,在其的测试中, nydus 能够把常见镜像的启动时间,从数分钟缩短到数秒钟。另外,容器运行时数据一致性校验方面,nydus 镜像不会被解压到本地,同时可以对每一次数据访问进行校验,如果数据被篡改,则可以从远端数据源重新拉取。 nydus 通过优化现有的 OCI 镜像标准格式提供: 容器镜像按需下载,用户不.

寒冰屋的专栏 2699

Flink SQL数据血缘实战:如何用Calcite追踪字段级数据流向(附源码示例)

本文深入探讨了如何利用Apache Calcite解析Flink SQL执行计划,实现字段级数据血缘的追踪。通过扩展Calcite的元数据处理器,特别是针对Flink特有的Snapshot等节点,文章提供了从获取优化后的逻辑计划到提取并可视化血缘关系的完整实战方案,并附有核心源码示例,帮助开发者构建实时数仓的数据治理能力。

weixin_29032337的博客 142

北京途游游戏后端开发面经

北京途游游戏后端开发面经 我面试岗位是基于Python的后端开发工程师,主要是搞游戏的服务器开发。面试一共分了两轮,之后说是看看其他的候选人再定,感觉凉凉~~ 由于受到此次新型冠状病毒疫情的影响,本次面试采用视频面试的方式,下面是面试的时候面试官提的问题,python的基础知识还是问的比较多的。  一面:(32分钟微信视频)  简单做下自我介绍,   1.说一下你开发过的项目,挑一个说下你都做了...

weixin_45603043的博客 2126

Nydus容器镜像加速能力并集成到nerdctl(实验中。。。。。。)

内容相关 :nerdctl docker rootfs nydus

啊阿啊啊啊杨的博客 1560

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。

HXX904的博客 4757

直播预告 | SOFAChannel#30《Nydus 开源容器镜像加速服务的演进与未来》

Nydus 在生产环境已经支撑了每日百万级别的加速镜像容器创建,在启动性能,镜像空间优化,网络带宽效率,端到端数据一致性等方面相比 OCIv1 格式有着巨大优势,并可扩展至例如 NPM 包懒加载等数据分发场景。目前 Nydus 由蚂蚁集团、阿里云、字节跳动联合开发,Containerd、Podman 社区接受了 Nydus 运行时作为其社区子项目,也是 Kata Containers 以及 Lin...

金融级分布式架构 262

核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升

本文深入解析了YOLO26目标检测模型中Neck部分的优化策略,重点探讨了BiFPN(双向特征金字塔网络)的原理与实现。文章首先指出YOLO26原生FPN+PAN结构在多尺度特征融合上的局限性,特别是在小目标检测和边缘部署场景中的性能瓶颈。随后系统梳理了Neck网络的演进历程,从FPN、PANet到BiFPN和ASFF,详细对比了各架构的特点。核心部分展示了如何将BiFPN引入YOLO26,包括可学习权重融合、双向跨尺度连接等关键技术实现,并提供了PyTorch代码示例。本文为需要提升小目标检测性能或优化边

ZDQ58818的博客 246

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

Nydus 懒加载镜像配置与实践

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !据统计容器中的大部分文件不会被使用。根据这一特征,Nydus 自定义了 Rafs 格式的文件系统,实现了镜像文件的按需加载,以解决大镜像导致的启动慢和占用存储的问题。而在 AI 场景下,无论是推理还是训练,镜像常常都是几个 G 起步,甚至几十个 G,Nydus 非常适用。本篇主要是一些具体操作步骤,用于快速配置镜像懒...

easylife206的专栏 1664

寻路最终版哦

相信大家用unity3d寻路的时候,一定会碰到多人

yxriyin的专栏 6955

容器镜像基础(nydus)

包括 nydus 的基本概念、架构和容器镜像加速使用方法。

分享观点和经验,欢迎交流。 1663

【系统架构设计师】论文模板样例:论软件系统架构风格

本人于年月参与项目,该系统为*,在该项目组中我担任系统架构师岗位,主要负责系统整体架构设计。本文以该车联网项目为例,主要讨论了软件架构风格在该项目中的具体应用。底层架构风格我们采用了虚拟机风格中的解释器,因该公交共有几十种不同的数据协议,使用解释器风格可以满足整车数据协议兼容性需求;中间层关于应用层的数据流转采用了独立构件风格中的隐式调用,以减低系统间耦合度、简化软件架构,提高可修改性方面的架构属性;应用系统层采用了B/S的架构风格,统一解决公交行业性难题“实施推广难、维护难”问题。

数据知道的博客 9927

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Dragonfly 社区技术分享|Nydus 远端转换缓存实现

在 2023 年的开源活动中,于强同学参加并负责了 Nydus 开源存储构建与分发支持课题的相关工作。大家好!我是来自西北工业大学的于强,在开源之夏 2023 中报名参与了 Nydus 项目,并在导师的帮助下顺利完成了题目。通过此次活动,不仅对容器和镜像的底层技术有了更进一步的了解,也体验了如何开始参与一个开源项目。Nydus GitHub:https://github.com/dragonfly...

金融级分布式架构 815

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Nydus 加速镜像一致性校验增强

这是去年(2022)的夏令营活动中,王瑞同学参加 Nydus 开源项目的总结,主要介绍了为 Nydus 支持镜像与文件系统一致性校验所做的相关工作。

金融级分布式架构 620

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Nydus 镜像扫描加速

镜像扫描的原因与内容容器镜像是当前容器/软件分发的基础,里面包含了容器隔离环境以及软件执行环境的相关内容。因此保障其安全性变得十分重要。镜像扫描即是要扫描镜像中的所有内容,及时发现可能包含的安全漏洞或者隐私泄露。1. 安全漏洞。包括系统软件包和应用软件库中可能存在的安全漏洞。可以通过比对镜像中这些库/软件包的来源、版本等与 CVE 数据库中报告的漏洞的包的来源、版本来定位可能存在的安全漏洞。2. 配置。包括镜像运行的环境配置和镜像中相关内容组合可能带来的问题。

BASK2311的博客 782

终极指南:Nydus容器镜像服务核心功能与架构解析

Nydus(GitHub 加速计划)是一个高性能容器镜像服务,通过创新的镜像格式和分发机制,显著提升容器启动速度并降低存储成本。本文将深入解析Nydus的核心功能、架构设计及实际应用价值,帮助开发者快速掌握这一容器优化利器。 ## 🚀 什么是Nydus容器镜像服务? Nydus作为Dragonfly镜像服务的核心组件,采用用户空间文件系统(FUSE/VirtIO)实现,通过**按需加载**和

gitblog_00309的博客 972

容器启动加速-nydus

Nydus是一个镜像加速器,主要通过容器启动时懒加载镜像提高启动速度, 大镜像可以秒级启动,后续的读写通过COW方式。以下是nydus的几个标签: - Nydus是蚂蚁、阿里云、字节等共建的开源容器镜像加速项目 - CNCF孵化的项目Dragonfly中的一个子项目 - 新的镜像格式,不同于oci - 良好的生态,兼容containerd、k8s、harbor、buildkit -- 从构建、存储、部署、到CI集成,有丰富的解决方案

Moolight_shadow的专栏 3620

Nydus | 容器镜像基础

Nydus | 容器镜像基础

金融级分布式架构 1018

Nydus Acceld 去 Containerd 服务化

丁亚东同学为大家带来他在 GitLink 编程夏令营中参加Nydus加速镜像的统一转换框架所做的相关工作分享。大家好!我是来自大连理工大学的 2023 级研究生丁亚东,GitHub ID 是 @Desiki-high。硕士期间主要研究方向是边缘计算,并且十分热爱云原生技术。Nydus GitHub:https://github.com/dragonflyoss/nydus01课题背景1.1O...

金融级分布式架构 572

Nerdctl 原生支持 Nydus 加速镜像

Containerd 是当前最流行的容器运行时之一,Nerdctl 作为 Containerd 的社区中的核心项目提供了完善的使用体验。它们都是容器领域中非常重要的基础项目。通过本次项目的开发工作,我逐渐了解了 OCI 镜像的组成部分,每部分的作用和基本格式;知道了以及 Nydus 镜像和 OCI 镜像之间的差异,并且理解了 Nydus镜像中 Blob layer 和 Bootstrap layer 之间的区别;能够通过检查本地镜像相关文件排查一些简单的程序 bug。

金融级分布式架构 1621

Nydus 开源项目使用教程

Nydus 开源项目使用教程 1. 项目的目录结构及介绍 Nydus 项目的目录结构如下: nydus/ ├── contrib/ │ ├── nydus-backend-proxy/ │ ├── nydus-overlayfs/ │ └── ... ├── docs/ ├── scripts/ ├── src/ │ ├── nydusd/ │ ├── nydus-image/...

gitblog_01034的博客 507

RLTrader交易环境详解:从PPO2算法到自定义动作空间的完整实现

🚀 **RLTrader** 是一个基于深度强化学习的加密货币交易环境,它巧妙地将OpenAI Gym接口与PPO2算法相结合,为量化交易爱好者提供了一个强大的实验平台。无论你是量化交易新手还是经验丰富的开发者,这个项目都能帮助你快速构建和测试自己的交易策略。本文将带你深入了解RLTrader的核心架构、PPO2算法的应用以及如何自定义交易动作空间,助你在加密货币交易领域迈出坚实的第一步! #

gitblog_00044的博客 497
上一篇: 恭喜 李志强 成为 Layotto committer!
下一篇: “SOFA 星球”闯关计划 ——Layotto 飞船
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值