云计算百科
云计算领域专业知识百科平台

K8s集群Containerd自动化部署运行适配实操

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 转发是否开启

赞(0)
未经允许不得转载:网硕互联帮助中心 » K8s集群Containerd自动化部署运行适配实操
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!