在Ubuntu LTS中启用CGroup v2并安装nerdctl

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

本文介绍了在Ubuntu 21.04及以下版本中启用CGroup v2的步骤,包括检查系统支持、修改GRUB配置并重启系统。安装nerdctl时会自动集成containerd,并提供Rootless安装方式以支持非root用户的安装。

🎯

关键要点

  • Ubuntu 21.04及以下版本默认开启CGroup v1,需要手动开启CGroup v2。

  • 检查系统是否支持CGroup v2的方法是执行命令grep cgroup /proc/filesystems,若输出包含nodev cgroup2则支持。

  • 激活CGroup v2需要修改GRUB配置,添加systemd.unified_cgroup_hierarchy=1,并重启系统。

  • 重启后可通过命令ls /sys/fs/cgroup/cgroup.controllers检查CGroup v2是否已激活。

  • nerdctl的安装包已集成containerd,直接安装nerdctl即可,无需单独安装containerd。

  • 使用wget下载nerdctl并解压后,执行systemctl命令启动containerd和镜像打包支持。

  • 若无法使用root用户安装,可以使用Rootless方式安装nerdctl,执行containerd-rootless-setuptool.sh install。

延伸问答

如何检查Ubuntu系统是否支持CGroup v2?

可以通过执行命令grep cgroup /proc/filesystems,如果输出包含nodev cgroup2,则说明系统支持CGroup v2。

在Ubuntu中如何启用CGroup v2?

需要修改GRUB配置,添加systemd.unified_cgroup_hierarchy=1,然后重启系统。

安装nerdctl时需要单独安装containerd吗?

不需要,nerdctl的安装包已集成containerd,直接安装nerdctl即可。

如何在Ubuntu中安装nerdctl?

使用wget下载nerdctl,然后解压并执行systemctl命令启动containerd和镜像打包支持。

如果无法使用root用户,如何安装nerdctl?

可以使用Rootless方式安装nerdctl,执行containerd-rootless-setuptool.sh install。

重启后如何确认CGroup v2是否已激活?

可以执行命令ls /sys/fs/cgroup/cgroup.controllers,如果能列出文件,则说明CGroup v2已激活。

➡️

继续阅读