简体   繁体   English

Pod coredns 在 k8s 上使用 Wea​​ve 卡在 ContainerCreating 状态

[英]Pod coredns stuck in ContainerCreating state with Weave on k8s

First of all, let me thank you for this amazing guide.首先,让我感谢您提供了这个出色的指南。 I'm very new to kubernetes and having a guide like this to follow helps a lot when trying to setup my first cluster!我对 kubernetes 很陌生,在尝试设置我的第一个集群时,有这样的指南可以帮助很多!

That said, I'm having some issues with creating deploytments, as there are two pods that aren't being created, and remain stuck in the state: ContainerCreating也就是说,我在创建部署时遇到了一些问题,因为有两个 pod 没有被创建,并且仍然停留在状态:ContainerCreating

[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES           AGE   VERSION
master   Ready    control-plane   25h   v1.24.0
node1    Ready    <none>          24h   v1.24.0
node2    Ready    <none>          24h   v1.24.0


[root@master ~]# kubectl cluster-info
Kubernetes control plane is running at https://192.168.3.200:6443
CoreDNS is running at https://192.168.3.200:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

The problem:问题:

[root@master ~]# kubectl get all --all-namespaces
NAMESPACE     NAME                                 READY   STATUS              RESTARTS        AGE
kube-system   pod/coredns-6d4b75cb6d-v5pvk         0/1     ContainerCreating   0               114m
kube-system   pod/coredns-7599c5f99f-q6nwq         0/1     ContainerCreating   0               114m
kube-system   pod/coredns-7599c5f99f-sg4wn         0/1     ContainerCreating   0               114m
kube-system   pod/etcd-master                      1/1     Running             3 (3h26m ago)   25h
kube-system   pod/kube-apiserver-master            1/1     Running             3 (3h26m ago)   25h
kube-system   pod/kube-controller-manager-master   1/1     Running             3 (3h26m ago)   25h
kube-system   pod/kube-proxy-ftxzx                 1/1     Running             2 (3h11m ago)   24h
kube-system   pod/kube-proxy-pcl8q                 1/1     Running             3 (3h26m ago)   25h
kube-system   pod/kube-proxy-q7dpw                 1/1     Running             2 (3h23m ago)   24h
kube-system   pod/kube-scheduler-master            1/1     Running             3 (3h26m ago)   25h
kube-system   pod/weave-net-2p47z                  2/2     Running             5 (3h23m ago)   24h
kube-system   pod/weave-net-k5529                  2/2     Running             4 (3h11m ago)   24h
kube-system   pod/weave-net-tq4bs                  2/2     Running             7 (3h26m ago)   25h

NAMESPACE     NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP                  25h
kube-system   service/kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   25h

NAMESPACE     NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/kube-proxy   3         3         3       3            3           kubernetes.io/os=linux   25h
kube-system   daemonset.apps/weave-net    3         3         3       3            3           <none>                   25h

NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns   0/2     2            0           25h

NAMESPACE     NAME                                 DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-6d4b75cb6d   1         1         0       25h
kube-system   replicaset.apps/coredns-7599c5f99f   2         2         0       116m

Note that the first three pods, from coredns, fail to start.请注意,来自 coredns 的前三个 pod 无法启动。

[root@master ~]# kubectl get events
LAST SEEN   TYPE      REASON                   OBJECT                             MESSAGE
93m         Warning   FailedCreatePodSandBox   pod/nginx-deploy-99976564d-s4shk   (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "fd79c77289f42b3cb0eb0be997a02a42f9595df061deb6e2d3678ab00afb5f67": failed to find network info for sandbox "fd79c77289f42b3cb0eb0be997a02a42f9595df061deb6e2d3678ab00afb5f67"

. .

   [root@master ~]# kubectl describe pod coredns-6d4b75cb6d-v5pvk -n kube-system
    Name:                 coredns-6d4b75cb6d-v5pvk
    Namespace:            kube-system
    Priority:             2000000000
    Priority Class Name:  system-cluster-critical
    Node:                 node2/192.168.3.202
    Start Time:           Thu, 12 May 2022 19:45:58 +0000
    Labels:               k8s-app=kube-dns
                          pod-template-hash=6d4b75cb6d
    Annotations:          <none>
    Status:               Pending
    IP:
    IPs:                  <none>
    Controlled By:        ReplicaSet/coredns-6d4b75cb6d
    Containers:
      coredns:
        Container ID:
        Image:         k8s.gcr.io/coredns/coredns:v1.8.6
        Image ID:
        Ports:         53/UDP, 53/TCP, 9153/TCP
        Host Ports:    0/UDP, 0/TCP, 0/TCP
        Args:
          -conf
          /etc/coredns/Corefile
        State:          Waiting
          Reason:       ContainerCreating
        Ready:          False
        Restart Count:  0
        Limits:
          memory:  170Mi
        Requests:
          cpu:        100m
          memory:     70Mi
        Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
        Readiness:    http-get http://:8181/ready delay=0s timeout=1s period=10s #success=1 #failure=3
        Environment:  <none>
        Mounts:
          /etc/coredns from config-volume (ro)
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-4bpvz (ro)
    Conditions:
      Type              Status
      Initialized       True
      Ready             False
      ContainersReady   False
      PodScheduled      True
    Volumes:
      config-volume:
        Type:      ConfigMap (a volume populated by a ConfigMap)
        Name:      coredns
        Optional:  false
      kube-api-access-4bpvz:
        Type:                    Projected (a volume that contains injected data from multiple sources)
        TokenExpirationSeconds:  3607
        ConfigMapName:           kube-root-ca.crt
        ConfigMapOptional:       <nil>
        DownwardAPI:             true
    QoS Class:                   Burstable
    Node-Selectors:              kubernetes.io/os=linux
    Tolerations:                 CriticalAddonsOnly op=Exists
                                 node-role.kubernetes.io/control-plane:NoSchedule
                                 node-role.kubernetes.io/master:NoSchedule
                                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
    Events:
      Type     Reason                  Age                   From     Message
      ----     ------                  ----                  ----     -------
      Warning  FailedCreatePodSandBox  93s (x393 over 124m)  kubelet  (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "7d0f8f4b3dbf2dffcf1a8c01b41368e16b1f80bc97ff3faa611c1fd52c0f6967": failed to find network info for sandbox "7d0f8f4b3dbf2dffcf1a8c01b41368e16b1f80bc97ff3faa611c1fd52c0f6967"

Versions:版本:

[root@master ~]# docker --version
 Docker version 20.10.15, build fd82621
            
[root@master ~]# kubelet --version
 Kubernetes v1.24.0
    
[root@master ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0",                 GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:44:24Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"linux/amd64"}

I have no idea where to go from here.我不知道从这里去哪里。 I googled keywords like "rpc error weave k8s" and "Failed to create pod sandbox: rpc error" but none of the solutions I found had a solution to my problem.我搜索了诸如“rpc error weave k8s”和“无法创建 pod 沙箱:rpc 错误”之类的关键字,但我找到的解决方案都没有解决我的问题。 I saw some problems mentioning weaving net, could this be the problem?我看到一些提到织网的问题,这可能是问题吗? Maybe I got it wrong, but I'm sure I followed the instructions very well.也许我弄错了,但我确信我很好地遵循了说明。

Any help would be greatly appreciated!任何帮助将不胜感激!

Looks like you got pretty far!看来你已经走得很远了! Support for docker as a container runtime was dropped in 1.24.0. 1.24.0 中删除了对 docker 作为容器运行时的支持。 I can't tell if that is what you are using or not but if you are that could be your problem.我不知道这是否是你正在使用的,但如果你是,那可能是你的问题。

https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/ https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/

You could switch to containerd for your container runtime but for the purposes of learning you could try the latest 1.23.x version of kubernetes.您可以为容器运行时切换到 containerd,但为了学习,您可以尝试最新的 1.23.x 版本的 kubernetes。 Get that to work then circle back and tackle containerd with kubernetes v1.24.0让它发挥作用,然后回过头来用 kubernetes v1.24.0 解决容器问题

You can still use docker on your laptop/desktop but on the k8s servers you will not be able to use docker on 1.24.x or later.您仍然可以在笔记本电脑/台式机上使用 docker,但在 k8s 服务器上,您将无法在 1.24.x 或更高版本上使用 docker。

Hope that helps and good luck!希望有帮助,祝你好运!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM