Containerd容器运行时安装与配置指南
前言
Containerd是一个行业标准的容器运行时,作为Docker的核心组件之一,它也可以独立运行。相比完整的Docker引擎,Containerd更加轻量级,适合生产环境中需要精简容器管理组件的场景。本文将详细介绍如何在Linux系统上安装和配置Containerd容器运行时。
环境准备
在开始安装前,请确保:
- 系统为x86_64架构的Linux发行版
- 已卸载Docker(如需保留Docker请勿继续)
- 具有root权限
卸载Docker(可选)
如果系统中已安装Docker,建议先卸载以避免冲突:
./install-docker.sh r
如果脚本卸载不成功,建议使用全新的虚拟机环境。
Containerd安装步骤
1. 下载Containerd发行包
从官方GitHub仓库下载最新版本的Containerd:
wget https://github.com/containerd/containerd/releases/download/v1.7.20/cri-containerd-cni-1.7.20-linux-amd64.tar.gz
或者使用内部镜像源(如可用):
wget http://192.168.16.253/Linux92/Docker/day14-/softwares/cri-containerd-cni-1.7.13-linux-amd64.tar.gz
2. 解压软件包
tar xf cri-containerd-cni-1.7.13-linux-amd64.tar.gz
3. 部署Containerd运行时
将containerd二进制文件复制到系统目录:
cp usr/local/bin/containerd /usr/local/bin/
验证安装:
containerd -h
4. 配置Systemd服务
将systemd服务文件复制到正确位置:
cp etc/systemd/system/containerd.service /usr/lib/systemd/system/
5. 配置Containerd
5.1 创建配置目录
mkdir /etc/containerd
5.2 生成默认配置
containerd config default > /etc/containerd/config.toml
5.3 配置cgroup驱动
修改cgroup驱动为systemd,这是Kubernetes等编排系统的推荐配置:
sed -ri 's#(SystemdCgroup = )false#\1true#' /etc/containerd/config.toml
验证修改:
grep SystemdCgroup /etc/containerd/config.toml
5.4 配置Pause镜像
修改sandbox镜像为国内镜像源,加速容器启动:
sed -i 's#registry.k8s.io/pause:3.8#registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8#' /etc/containerd/config.toml
验证修改:
grep sandbox_image /etc/containerd/config.toml
5.5 配置私有镜像仓库(可选)
对于企业环境,通常需要配置私有镜像仓库:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.oldboyedu.com"]
endpoint = [
"https://harbor.oldboyedu.com"
]
6. 启动Containerd服务
启用并启动containerd服务:
systemctl enable --now containerd
检查服务状态:
systemctl status containerd
7. 安装客户端工具
7.1 安装ctr客户端
cp usr/local/bin/ctr /usr/bin/
验证安装:
ctr --version
ctr version
7.2 安装容器运行时组件
cp usr/local/bin/containerd-shim-runc-v2 /usr/bin/
验证安装
完成所有步骤后,可以通过以下命令验证Containerd是否正常工作:
ctr images pull docker.io/library/hello-world:latest
ctr run --rm docker.io/library/hello-world:latest hello
生产环境建议
- 资源限制:在config.toml中配置合理的资源限制
- 日志配置:配置日志轮转和级别
- 存储配置:根据需求调整存储驱动和root目录
- 网络配置:配置CNI插件以满足网络需求
- 安全加固:配置TLS认证和用户命名空间
常见问题排查
- 服务启动失败:检查
journalctl -u containerd查看详细日志 - 镜像拉取失败:检查网络连接和镜像仓库配置
- 容器启动失败:检查runtime配置和cgroup设置
总结
Containerd作为轻量级的容器运行时,非常适合生产环境中需要精简容器管理组件的场景。通过本文的步骤,您已经成功安装并配置了一个生产可用的Containerd环境。后续可以根据实际需求进一步调整配置,或集成到Kubernetes等编排系统中使用。
如需更高级的功能,如快照管理、内容寻址存储等,可以进一步探索Containerd的强大功能。
浙公网安备 33010602011771号