美文网首页
871. 【kubernetes】解决k8s1.28.4:Not

871. 【kubernetes】解决k8s1.28.4:Not

作者: 七镜 | 来源:发表于2023-12-02 10:37 被阅读0次

    执行 kubectl get nodes,看到如下信息,显示节点未就绪

    [root@xxxx cni]# kubectl get nodes
    NAME         STATUS     ROLES    AGE   VERSION
    10.0.1.173   NotReady   <none>   11h   v1.28.4
    

    执行kubectl describe node <node_name>看到报错如下:

    NotReady message:Network plugin returns error: cni plugin not initialized
    

    执行journalctl -u kubelet | tee tmp.log,检查kubelet的日志,看到如下报错:

    12月 02 10:16:35 xxxxx kubelet[10037]: E1202 10:16:35.132701   10037 remote_runtime.go:193] "RunPodSandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to get sandbox image \"registry.k8s.io/pause:3.8\": failed to pull image \"registry.k8s.io/pause:3.8\": failed to pull and unpack image \"registry.k8s.io/pause:3.8\": failed to resolve reference \"registry.k8s.io/pause:3.8\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/pause/manifests/3.8\": dial tcp 64.233.189.82:443: i/o timeout"
    

    解决办法:

    从阿里云下载对应的镜像,并且将改一下新镜像的tag。

    [root@xxxxx cni]# nerdctl pull registry.aliyuncs.com/google_containers/pause:3.8
    registry.aliyuncs.com/google_containers/pause:3.8:                                resolved       |++++++++++++++++++++++++++++++++++++++| 
    index-sha256:9001185023633d17a2f98ff69b6ff2615b8ea02a825adffa40422f51dfdcde9d:    done           |++++++++++++++++++++++++++++++++++++++| 
    manifest-sha256:f5944f2d1daf66463768a1503d0c8c5e8dde7c1674d3f85abc70cef9c7e32e95: done           |++++++++++++++++++++++++++++++++++++++| 
    config-sha256:4873874c08efc72e9729683a83ffbb7502ee729e9a5ac097723806ea7fa13517:   done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:9457426d68990df190301d2e20b8450c4f67d7559bdb7ded6c40d41ced6731f7:    done           |++++++++++++++++++++++++++++++++++++++| 
    elapsed: 2.2 s                                                                    total:  4.2 Ki (1.9 KiB/s)                                       
    [root@xxxxx cni]# nerdctl tag registry.aliyuncs.com/google_containers/pause:3.8  registry.k8s.io/pause:3.8
    
    [root@xxxxx cni]# date
    2023年 12月 02日 星期六 10:23:12 CST
    

    解决方案二:

    执行 vim /etc/containerd/config.toml ,修改sandbox_iamge的行如下所示:

    sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.8"
    

    改完之后,执行:systemctl restart containerd 重启containerd

    查看效果

    [root@xxxxcni]# kubectl get po -n kube-system
    NAME                                       READY   STATUS              RESTARTS   AGE
    calico-kube-controllers-7ddc4f45bc-56wtb   0/1     ContainerCreating   0          65m
    calico-node-hn9dj                          0/1     Init:2/3            0          65m
    

    可以看到已经就绪2个了。
    查看日志也能看到成功的消息:


    几分钟之后,再次执行kubectl get all -n kube-system 可以看到服务杜娜都是READY的状态了

    [root@xxxxx cni]#  kubectl get all -n kube-system           
    NAME                                           READY   STATUS    RESTARTS   AGE
    pod/calico-kube-controllers-7ddc4f45bc-56wtb   1/1     Running   0          96m
    pod/calico-node-hn9dj                          1/1     Running   0          96m
    
    NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
    daemonset.apps/calico-node   1         1         1       1            1           kubernetes.io/os=linux   96m
    
    NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/calico-kube-controllers   1/1     1            1           96m
    
    NAME                                                 DESIRED   CURRENT   READY   AGE
    replicaset.apps/calico-kube-controllers-7ddc4f45bc   1         1         1       96m
    

    相关文章

      网友评论

          本文标题:871. 【kubernetes】解决k8s1.28.4:Not

          本文链接:https://www.haomeiwen.com/subject/eljcgdtx.html