如何在 Ubuntu 22.04 LTS 上安装 CRI-O

在本教程中,我们将向您展示如何在 Ubuntu 22.04 LTS 上安装 CRI-O。 对于那些不知道的人,CRI-O 是一个开源容器引擎,是 Docker 引擎的替代品。 它是一个轻量级的容器运行时环境。 容器运行时是负责运行容器的软件。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安装 CRI-O。 对于 Ubuntu 22.04 和任何其他基于 Debian 的发行版,如 Linux Mint、Elementary OS、Pop!_OS 等,您可以按照相同的说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 CRI-O

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

步骤 2. 在 Ubuntu 22.04 上安装 CRI-O。

默认情况下,CRI-O 在 Ubuntu 22.04 基础存储库中不可用。 现在运行以下命令以添加 CRI-O 存储库配置包:

echo "deb [signed-by=/usr/share/keyrings/libcontainers-archive-keyring.gpg] https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS_VERSION/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list echo "deb [signed-by=/usr/share/keyrings/libcontainers-crio-archive-keyring.gpg] https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIO_VERSION/$OS_VERSION/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$CRIO_VERSION.list

接下来,导入 GPG 密钥:

curl -fsSL https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS_VERSION/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/libcontainers-archive-keyring.gpg curl -fsSL https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIO_VERSION/$OS_VERSION/Release.key | sudo gpg --dearmor -o /usr/share/keyrings/libcontainers-crio-archive-keyring.gpg

启用存储库后,现在使用以下命令安装最新版本的 CRI-O 包:

sudo apt update sudo apt install cri-o cri-o-runc

成功安装后,启用 CRI-O(系统启动时自动启动),启动并使用以下命令验证状态:

sudo systemctl enable crio sudo systemctl start crio sudo systemctl status crio

步骤 3. 为 CRI-O 安装 CNI(容器网络接口)插件。

运行以下命令安装 CNI 插件:

sudo apt install containernetworking-plugins

步骤 4. 在 Ubuntu 22.04 上使用 CRI-O。

首先,我们安装 CRI Tools 来管理 pod 和容器:

sudo apt install cri-tools

检查是否存在 crictl 命令:

$ sudo crictl info {   "status": {     "conditions": [       {         "type": "RuntimeReady",         "status": true,         "reason": "",         "message": ""       },       {         "type": "NetworkReady",         "status": false,         "reason": "NetworkPluginNotReady",         "message": "Network plugin returns error: Missing CNI default network"       }     ]   } }

接下来,从 Docker Hub 拉取一个测试 Nginx 镜像:

sudo crictl pull nginx

检查可用图像:

sudo crictl images

恭喜! 您已成功安装 CRI-O。 感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 CRI-O。 如需更多帮助或有用信息,我们建议您查看 CRI-O 官方网站.