前几天嫌服务器上镜像太多占空间,全部删掉了,今天看到 microk8s 更新了 1.30 版本,果断更新,结果集群跑不起来了。

先通过 microk8s.kubectl get pods --all-namespaces 命令看看 pod 状态。
在这里插入图片描述
如上图可以看到,所有的业务 pod 都是 Unknown 状态,然后有一个 calico-node 的系统 pod 卡在 Init 状态,初步怀疑是 calico-node 初始化卡住了,导致集群起不起来。

执行命令 microk8s.kubectl describe pods calico-node-pnrbj -n kube-system 可以看到如下输出:
在这里插入图片描述
如上图所示,calico-node 启动时,需要拉取一个 registry.k8s.io/pause:3.7 镜像,但是由于某些网络原因导致拉取不下来。

这时候我们可以采取换一个国内源拉取这个镜像,然后重新打个 tag 的方式来解决。

registry.k8s.io/pause:3.7 对应阿里源上的镜像是 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7

执行命令:

microk8s.ctr image pull registry.k8s.io/pause:3.7

如下图所示,镜像拉取成功。

在这里插入图片描述

使用如下命令重新打标签:

 microk8s.ctr image tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7 registry.k8s.io/pause:3.7

重启下集群,或者等一会儿就好啦~

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐