欢迎光临
我们一直在努力

rke搭建k8s报错,Unsupported Docker version found [28.2.2] on host [aegis-0002], supported versions are [1.13.x 17.03.x 17.06.x 17.09.x 18.06.x 18.09.x 19.03.x 20.10.x 23.0.x 24.0.x]

在AI基础设施部署中,Kubernetes是核心调度层,而RKE(Rancher Kubernetes Engine)是快速部署K8s集群的强大工具。然而,RKE对底层依赖,尤其是Docker运行时版本,有着严格的限制。当遇到 Unsupported Docker version found [28.2.2] 这类错误时,意味着您使用的Docker版本超出了RKE所能接受的范围。

这个问题在尝试使用最新操作系统或Docker安装包时尤为常见,因为RKE稳定版本可能尚未完全适配最新的运行时。要解决此问题,我们必须采取实操性最强的方案:卸载现有Docker,并安装一个RKE明确支持的稳定版本。

问题分析

RKE的部署脚本内置了一个版本检查机制。根据您提供的报错信息:

Unsupported Docker version found [28.2.2] on host [aegis-0002], supported versions are [1.13.x 17.03.x 17.06.x 17.09.x 18.06.x 18.09.x 19.03.x 20.10.x 23.0.x 24.0.x]

可以看到,RKE支持的最高版本是 24.0.x。Docker 28.2.2 包含了与旧版本不兼容的配置或行为更改,RKE为了保证集群的稳定性和兼容性,拒绝继续部署。

解决方案:降级到RKE兼容的Docker版本

我们选择降级到一个被广泛支持且稳定的版本,例如 24.0.x 系列中的一个补丁版本,如 24.0.9

以下步骤适用于基于Debian/Ubuntu的系统。对于CentOS/RHEL用户,命令会有所不同(使用 yumdnf)。

步骤一:彻底卸载现有Docker组件

首先,确保移除所有可能残留的、导致冲突的 Docker 包。

bash
# 停止 Docker 服务
sudo systemctl stop docker

# 卸载所有相关的 Docker 包
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# 移除残留的配置文件和数据(可选,但推荐进行干净安装)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 清理apt缓存
sudo apt-get autoremove -y

步骤二:安装RKE兼容的指定版本(以24.0.9为例)

我们将使用 Docker 官方仓库来安装指定的版本。

  1. 更新包索引并安装依赖项:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg -y
  1. 添加 Docker 官方 GPG 密钥和仓库:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \n  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \n  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
  1. 查找并安装指定的 24.0.9 版本:

首先,列出可用的版本:

apt-cache madison docker-ce
# 查找 24.0.9-1~ubuntu.xx 等格式的版本号

假设我们找到的版本是 5:24.0.9-1~ubuntu.22.04~jammy

# 注意:请根据上一步的实际输出来替换版本字符串
sudo apt-get install docker-ce=5:24.0.9-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.9-1~ubuntu.22.04~jammy containerd.io -y

# 验证版本
docker version --format '{{.Server.Version}}'

输出应显示 24.0.9

步骤三:启动Docker并锁定版本

为防止系统自动升级 Docker 导致未来 RKE 部署再次失败,我们建议锁定其版本。

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 锁定版本以防止未来的apt升级(Ubuntu/Debian)
sudo apt-mark hold docker-ce docker-ce-cli

步骤四:重新运行RKE部署

在所有节点上完成上述降级操作后,您可以安全地使用 RKE 配置文件(cluster.yml)重新执行集群部署命令。

rke up --config cluster.yml

RKE 现在将识别到兼容的 Docker 版本(24.0.x),并顺利完成 K8s 组件的部署和初始化。这为后续的AI模型部署和推理服务提供了稳定的基础设施。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » rke搭建k8s报错,Unsupported Docker version found [28.2.2] on host [aegis-0002], supported versions are [1.13.x 17.03.x 17.06.x 17.09.x 18.06.x 18.09.x 19.03.x 20.10.x 23.0.x 24.0.x]
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址