背景
问题: 青云 kubesphere 在 k8s 集群容器 runtime 为 containerd 时,创建 Secret 时提示找不到 dockerd !

集群环境介绍:
使用 kubeasz 搭建,容器 runtime 使用 containerd,而不是dockerd
操作步骤
- 停止调度部分集群节点
- 删除 k8s 集群环境
- 重新安装容器运行时环境
停止调度部分集群节点(暂定一台主机)
给主机添加污点,将该主机节点上的容器驱赶干净;

从集群中删除主机节点
#easzctl del-node <主机IP>
easzctl del-node 10.10.14.102
# 删除主机时,同时会执行环境清除,记得重启一次彻底清除网络环境
修改整个 kubeasz 配置
vim /etc/ansible/hosts
# 修改成: CONTAINER_RUNTIME="docker"
重新将上述主机节点加入集群

#easzctl add-node <主机IP>
easzctl add-node 10.10.14.102
# 直接加入节点会报错,截图如上图所示
# 解决办法:
# 登录目标主机执行如下命令
rpm -qa |grep containerd
yum remove containerd -y
# 然后再执行 add-node 命令
重复上述动作,将其他主机节点切换
注意: 如果同时下线多个节点,可以批量操作即可
切换后的效果
