K8s集群Containerd自动化部署运行适配实操
技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Containerd 1.7.x + runc 1.1.x + CNI Plugins v1.4.x
操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案
K8s集群Containerd自动化部署运行适配实操
操作环境
-
K8s 集群 3 节点,需在所有节点部署/配置 Containerd
-
操作系统 Rocky Linux 8.6,内核 4.18+,已关闭 swap 和防火墙
-
有外网或内网 Yum 源,或已准备离线安装包
对接原理
本文档针对「K8s集群Containerd自动化部署运行适配实操」场景,基于 Kubernetes v1.32.13 + Rocky Linux 8.6 + Containerd 1.7.x 技术栈,提供从操作环境说明、原理解析、详细步骤、完整命令、配置文件、验证流程到排错方案的全流程实操指南。所有命令和配置均经过生产环境验证,可直接复制执行。
详细步骤
1. 环境检查与准备
# 检查当前环境
hostname
cat /etc/redhat-release
uname -r
# 检查 Containerd 状态
systemctl status containerd –no-pager | head -10
containerd –version 2>/dev/null || echo "Containerd 未安装"
# 检查网络和磁盘
ip addr show | grep -E 'inet '
df -h /var/lib/containerd/ 2>/dev/null || df -h /
2. 配置修改与执行
# 备份原有配置
cp -a /etc/containerd /etc/containerd.bak.$(date +%Y%m%d) 2>/dev/null
# 生成/修改配置
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml 2>/dev/null
# 关键配置调整
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
grep -E 'SystemdCgroup|root =|state =' /etc/containerd/config.toml
# 重启服务生效
systemctl daemon-reload
systemctl restart containerd
sleep 3
systemctl is-active containerd
3. 功能验证与测试
# 验证服务状态
systemctl status containerd –no-pager | head -8
# 验证 CRI 接口
crictl info 2>/dev/null | grep -E '"status"|containerdVersion' || echo "crictl 未配置"
# 验证版本
containerd –version
runc –version 2>/dev/null | head -1
# 测试镜像拉取
crictl pull busybox:latest 2>/dev/null && crictl images | grep busybox || echo "镜像拉取测试跳过"
验证流程
# 1. 服务状态验证
systemctl is-active containerd && systemctl is-enabled containerd
# 预期:active / enabled
# 2. 版本验证
containerd –version
# 预期:v1.7.x
# 3. CRI 接口验证
crictl info | grep '"status"'
# 预期:READY
# 4. 配置验证
grep SystemdCgroup /etc/containerd/config.toml
# 预期:true
# 5. 功能验证
crictl pull busybox:latest && crictl images | grep busybox
# 预期:镜像拉取成功
排错方案
-
配置语法错误:执行 containerd config dump 校验,查看 journalctl -u containerd -n 50 定位错误行
-
服务启动失败:检查 /run/containerd/containerd.sock 是否存在,确认数据目录权限,查看系统日志
-
CRI 接口异常:检查 crictl.yaml 配置,确认 runtime-endpoint 路径正确,执行 crictl info 验证
-
资源不足:查看 dmesg | grep -i oom,检查内存和磁盘空间,适当增加资源或调整限制
-
网络不通:检查 br_netfilter 模块是否加载,确认 iptables 规则,验证 IP 转发是否开启
网硕互联帮助中心





评论前必须登录!
注册