Kubernetes Node NotReady (plugin cni não inicializado)

Kubernetes Node NotReady (plugin cni não inicializado)

Eu instalei um cluster K8s. O nó de trabalho ingressou com sucesso no cluster. No entanto, não está pronto:

a@front:~$ kubectl get nodes
NAME    STATUS     ROLES           AGE   VERSION
front   Ready      control-plane   49m   v1.27.1
wn1     NotReady   <none>          40m   v1.27.1

Isso é devido ao:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized

a@front:~$ kubectl describe node wn1
Name:               wn1
Roles:              <none>
...
Taints:             node.kubernetes.io/not-ready:NoExecute
                    node.cilium.io/agent-not-ready:NoSchedule
                    node.kubernetes.io/not-ready:NoSchedule
Unschedulable:      false
...
Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  MemoryPressure   False   Tue, 24 Oct 2023 21:26:10 +0000   Tue, 24 Oct 2023 21:05:34 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Tue, 24 Oct 2023 21:26:10 +0000   Tue, 24 Oct 2023 21:05:34 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Tue, 24 Oct 2023 21:26:10 +0000   Tue, 24 Oct 2023 21:05:34 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            False   Tue, 24 Oct 2023 21:26:10 +0000   Tue, 24 Oct 2023 21:05:34 +0000   KubeletNotReady              container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized

Na verdade, o Pod não está funcionando:

a@front:~$ kubectl get pods -o wide --all-namespaces
NAMESPACE     NAME                               READY   STATUS              RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
kube-system   cilium-drrww                       1/1     Running             0          20m   10.10.17.2      front   <none>           <none>
kube-system   cilium-gj6h6                       0/1     Init:0/6            0          10m   10.10.17.3      wn1     <none>           <none>
kube-system   cilium-operator-788c7d7585-htnr6   0/1     ContainerCreating   0          48m   10.10.17.3      wn1     <none>           <none>
kube-system   cilium-operator-788c7d7585-trmrk   1/1     Running             0          48m   10.10.17.2      front   <none>           <none>
...
kube-system   kube-proxy-7tsfd                   0/1     ContainerCreating   0          44m   10.10.17.3      wn1     <none>           <none>
kube-system   kube-scheduler-front               1/1     Running             4          52m   10.10.17.2      front   <none>           <none>

Posso excluí-lo para que seja recriado, mas o problema ainda é o mesmo.

Essesitemenciona um problema potencial com o CIDR, o que não parece ser o caso:

a@front:~$ kubectl cluster-info dump | grep cidr
                            "--allocate-node-cidrs=true",
                            "--cluster-cidr=10.10.17.0/16",

O que pode estar acontecendo ou como posso pesquisar mais sobre o assunto?


No Working Node basicamente instalei o kubeadm, kubelete kubectlentrei no cluster, mas não instalei nada relacionado ao plugin CNI (fiz isso apenas no CP). Supõe-se que o Kubernetes cuide disso no CP, mas isso Network plugin returns error: cni plugin not initializedme intriga.

Responder1

Você pode descrever os pods e ver se há algum evento, assim como fez com os nós? Além disso, copiar e colar no seu terminal mostra que os pods ainda estão sendo preparados - quanto tempo você espera e o que acontece com eles depois do tempo (minutos)?

Estou abordando isso da perspectiva do Calico (outro CNI) porque essa é a minha experiência e parece que você deu os passos iniciais parainstalar o Kubernetese seus nós estão funcionando. Você é casado com Cílio? Calico tem documentos para "o jeito difícil"que parece o que você está fazendo e pode dar mais sucesso, especialmente quando você diz"Não posso compartilhar nenhuma documentação. A replicação é difícil." (Não sei se é porque você não está seguindo a documentação, ou é segredo) Ao instalar o Calico, você tem que configurar e aplicardefinições de recursos personalizadosantes de instalar o CNI - você fez algo semelhante e pode verificar se está correto? Você tem certeza absoluta de que o CIDR que está usando não se sobrepõe a mais nada? Tanto o Calico quanto o Cilium têm uma CLI - você instalou isso? Você pode usar essa ferramenta para obter o status e obter algum erro?

TLDR minhas sugestões:

  • Descreva os pods ou obtenha logs de pod e procure erros/eventos
  • Verifique todos os CDRs e certifique-se de que a configuração esteja correta
  • Instale e use ferramentas CNI CLI para verificar o status
  • Tente um CNI diferente/siga instruções para permitir a reprodução/depuração

informação relacionada