安装KubeSphere过程中,一直停留在等待安装完成阶段问题的解决办法
问题现象描述
安装KubeSphere过程中,一直停留在等待KubeSphere安装完成阶段。提示如下信息:
关键过程、根本原因分析
等待安装完成阶段,启动相关容器会下载相关服务需要的容器镜像。由于网络问题等因素,容器镜像下载失败,导致这些服务的容器不断尝试重新部署。
使用如下命令查看所有Pod是否创建成功。
kubectl get pod -A
查询结果的STATUS一列中,如果提示ImagePullBackOff即表示容器镜像下载失败。
使用如下命令可以进一步查询此容器的日志,获取更详细信息。
kubectl -n NAMESPACE describe pod NAME
- NAMESPACE为kubectl get pod -A命令中查到的“NAMESPACE”一列中对应容器的名称。
- NAME为kubectl get pod -A命令中查到的“NAME”一列中对应容器的名称。
如下图所示,查询日志中显示容器镜像k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0下载失败。
结论、解决方案及效果
使用命令手动拉取容器镜像或者从其他可以下载的容器镜像服务器上将容器镜像拉取下来,并上传到安装环境上,容器将使用本地已有镜像自动重新部署。
需要注意的是,容器镜像的tag需要与日志报错中提示的信息一致。
以k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0为例,操作步骤如下。
- 手动拉取容器镜像。
docker pull k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0 --platform arm64
- 导出容器镜像。
docker save -o csi-node-driver-registrar.tar k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0
- 导入本地容器镜像。
docker load -i csi-node-driver-registrar.tar
- 修改容器镜像tag。
docker tag k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0 dockerregist/sig-storage/csi-node-driver-registrar:v2.4.1
父主题: 故障排除