环境说明:

kubeadm安装单master集群,安装flannel网络插件时,遇到错误如下:

node1节点的镜像已经下载并处于Running状态,master却报错 init:ImagePullBackOff

[root@k8smaster ~]# kubectl get pods -n kube-system
NAME                          READY    STATUS                  RESTARTS   AGE
kube-flannel-ds-jfkv6          1/1     Running                 0          12m
kube-flannel-ds-s6wnb          0/1  Init:ImagePullBackOff      0          12m


原因是:取镜像失败


排错步骤:

方法1:master直接拉镜像,版本号可以在kube-flannel.yml 文件找到;

[root@k8smaster ~]# docker pull quay.io/coreos/flannel:v0.13.1-rc2


方法2:在node1节点,保存镜像后并拷贝到master中

[root@k8snode1 ~]# docker save -o flannel.tar.gz quay.io/coreos/flannel:v0.13.1-rc2
[root@k8snode1 ~]# ls -lh
-rw-------  1 root root  63M 2月   7 17:06 flannel.tar.gz
[root@k8snode1 ~]# scp ./flannel.tar.gz 172.16.80.20:/root/


在master上load镜像

  [root@k8smaster ~]# docker load -i flannel.tar.gz

QQ20210207-171827.png

成功加载镜像后,再次查看pods变成Running状态,nodes也是Ready状态。

QQ20210207-172018.png