Containerd 安装与配置指南
📦 Containerd 安装与配置指南
一、下载并安装 containerd
# 下载 containerd 二进制包(版本:v1.7.28)
wget https://github.com/containerd/containerd/releases/download/v1.7.28/containerd-1.7.28-linux-amd64.tar.gz# 添加可执行权限(注意:tar.gz 文件本身不需要 chmod +x,此步可跳过或删除)
# chmod +x containerd-1.7.28-linux-amd64.tar.gz # ❌ 这一步无意义,可删除# 解压到 /usr/local 目录
tar -C /usr/local -xzf containerd-1.7.28-linux-amd64.tar.gz
✅ 安装后,containerd 可执行文件位于
/usr/local/bin/containerd
二、下载并安装 runc(容器运行时依赖)
# 下载 runc(版本:v1.3.0,amd64 架构)
wget https://github.com/opencontainers/runc/releases/download/v1.3.0/runc.amd64# 添加可执行权限
chmod +x runc.amd64# 安装到系统路径 /usr/local/sbin/runc
install -m 755 runc.amd64 /usr/local/sbin/runc
✅ runc 是 containerd 默认的底层容器运行时,通常位于
/usr/local/sbin/runc
三、下载并安装 CNI 网络插件
# 下载 CNI 插件包(版本:v1.7.1,适用于 amd64)
wget https://github.com/containernetworking/plugins/releases/download/v1.7.1/cni-plugins-linux-amd64-v1.7.1.tgz# 创建 CNI 插件安装目录
mkdir -p /opt/cni/bin# 解压插件到 /opt/cni/bin
tar -C /opt/cni/bin -xzf cni-plugins-linux-amd64-v1.7.1.tgz
✅ CNI 插件用于容器网络管理,默认安装在
/opt/cni/bin
四、设置 containerd 开机自启动
1. 创建 systemd 服务文件
# 创建 containerd 的 systemd 服务配置文件
nano /etc/systemd/system/containerd.service
将以下内容写入该文件:
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target dbus.service[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerdType=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
TasksMax=infinity
OOMScoreAdjust=-999[Install]
WantedBy=multi-user.target
2. 启用并启动 containerd 服务
# 重新加载 systemd 配置
systemctl daemon-reload# 设置开机自启并立即启动 containerd
systemctl enable --now containerd
五、查看 containerd 默认配置与运行状态
1. 查看默认配置文件路径
Containerd 默认不会自动创建 /etc/containerd/config.toml
,需要手动生成。
# 查看默认 socket 路径(通常为下面这个)
ls /run/containerd/containerd.sock# 查看是否有默认配置文件(一般没有,需生成)
ls /etc/containerd/config.toml # 可能不存在
六、生成并配置 containerd 的 config.toml
# 创建配置目录(如果尚未存在)
sudo mkdir -p /etc/containerd# 生成默认配置并写入 /etc/containerd/config.toml
containerd config default | sudo tee /etc/containerd/config.toml
✅ 这一步会生成完整的 containerd 配置文件,包括 CRI、CNI、镜像仓库等设置。
你可以根据需求进一步修改
/etc/containerd/config.toml
,比如配置私有镜像仓库、调整 sandbox、网络等。
七、验证安装
1. 检查 containerd 是否正在运行
systemctl status containerd
2. 查看 containerd 版本
containerd --version
3. 默认 CRI Socket 路径(供 Kubernetes 等调用)
ls /run/containerd/containerd.sock
✅ Kubernetes(如 kubeadm)会通过该 socket 与 containerd 通信。如果你要配置 kubeadm,请确保在
/etc/containerd/config.toml
中启用了 CRI,并重启服务。
🧩 补充说明
- containerd 默认二进制路径:
/usr/local/bin/containerd
- runc 路径:
/usr/local/sbin/runc
- CNI 插件路径:
/opt/cni/bin
- 默认 socket 文件:
/run/containerd/containerd.sock
- 配置文件路径(手动创建):
/etc/containerd/config.toml