您当前的位置: 首页 > 

阿里云云栖号

暂无认证

  • 0浏览

    0关注

    5305博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

如何在 Anolis 8上部署 Nydus 镜像加速方案?

阿里云云栖号 发布时间:2022-08-18 17:22:37 ,浏览量:0

在上一篇文章中详细介绍Anolis OS 是首个原生支持镜像加速 Linux 内核,Nydus 镜像加速服务重新优化了现有的 OCIv1 容器镜像格式,重新定义镜像的文件系统,数据与元数据分离,实现按需加载,本文作为使用 Nydus 的教程将详细介绍在 Anolis OS 上部署 Nydus 的过程,以帮助用户熟悉 Nydus 的基本使用方法。

一、部署环境

本教程中使用的是阿里云上购买的 EC2 虚拟机,您也可以在本地或其他云环境中部署 Nydus。

操作系统:Anolis OS 8.4 (ANCK 64位) 内核版本:Linux 4.19 CPU:2 vCPU@3.5GHz 内存:8GB 软件依赖:Nydus 当前仅支持 Containerd,因此在需要使用 containerd 作为容器引擎

龙蜥安装使用 containerd 的方法。

dnf --enablerepo Plus install -y containerd
二、安装 Nydus

龙蜥社区已经集成 Nydus 最新 Stable 稳定版本,推荐使用龙蜥集成的软件包安装 Nydus。如果需要安装指定版本的 Nydus,可以下载上游开源版本的代码包安装(以下两种安装方式任选一种即可)。

2.1 使用龙蜥集成的软件包
dnf --enablerepo Plus install -y nydus-rs nydus-snapshotter
2.2 使用上游开源版本
  • 下载 Nydus 的可执行文件。

从发布页面(见文末链接1)获取最新的压缩包,并解压。

wget https://github.com/dragonflyoss/image-service/releases/download/v2.1.0-alpha.4/nydus-static-v2.1.0-alpha.4-linux-amd64.tgz
tar -xzvf nydus-static-v2.1.0-alpha.4-linux-amd64.tgz
  • 下载 Nydus Snapshotter 的可执行文件。

从发布页面(见文末链接2)获取最新的压缩包,并解压。

wget https://github.com/containerd/nydus-snapshotter/releases/download/v0.2.4/nydus-snapshotter-v0.2.4-x86_64.tgz
tar -xzvf nydus-snapshotter-v0.2.4-x86_64.tgz
mv nydus-snapshotter/containerd-nydus-grpc nydus-static/containerd-nydus-grpc
  • 选择 Nydus 运行模式。

Nydus 加速框架支持了三种运行模式,以支持不同场景下的镜像按需加载:

  • 通过 FUSE 提供给 RunC 这类容器运行时的按需加载能力,也是 Nydus 目前最常用的模式;
  • 通过 VirtioFS 承载 FUSE 协议,支持基于 VM 的容器运行时,例如 Kata 等,为 VM Guest 里的容器提供 RootFS 按需加载能力;
  • 通过内核态的 EROFS 只读文件系统提供 RootFS,目前 Nydus 的 EROFS 格式支持已经进入了 Linux 5.16 主线,其内核态缓存方案 erofs over fscache 也已经合入 Linux 5.19-rc1 主线,内核态方案可以减少上下文切换及内存拷贝开销,在性能有极致要求的情况下可以用这种模式。

由于第一种模式的环境依赖最少,比较适合演示。因此在这里我们选择 fuse 模式,将 nydusd 二进制文件中的 nydusd-fusedev 重命名为 nydusd。

cd nydus-static
mv nydusd-fusedev nydusd
  • 安装可执行文件。
sudo cp nydusd nydus-image /usr/bin
sudo cp nydusify containerd-nydus-grpc /usr/bin
sudo cp ctr-remote nydus-overlayfs /usr/
cd ..
三、启动 Nydus Snapshotter

3.1 写入配置文件

Nydus 提供了一个容器化的远程快照管理器 containerd-nydus-grpc 来准备容器 rootfs 与 nydus 格式的镜像。要启动它,首先将 nydusd 配置保存到 /etc/nydusd-config.json:

sudo tee /etc/nydusd-config.json > /dev/null             
关注
打赏
1664438436
查看更多评论
0.0558s