Nodo de Kubernetes NotReady (complemento cni no inicializado)

Nodo de Kubernetes NotReady (complemento cni no inicializado)

He instalado un clúster K8s. El nodo de trabajo se ha unido exitosamente al clúster. Sin embargo, no está listo:

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

Esto es debido a: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

De hecho, el Pod no funciona:

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>

Puedo eliminarlo para que se vuelva a crear, pero el problema sigue siendo el mismo.

Estesitiomenciona un problema potencial con CIDR, que no parece ser el caso:

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

¿Qué puede estar pasando o cómo puedo investigar más el problema?


kubeadmEn el nodo de trabajo básicamente instalé kubelety kubectlme uní al clúster, pero no instalé nada relacionado con el complemento CNI (lo hice solo en el CP). Se supone que Kubernetes se encarga de eso desde el CP, pero eso Network plugin returns error: cni plugin not initializedme desconcierta.

Respuesta1

¿Puedes describir los pods y ver si hay algún evento, tal como lo hiciste con los nodos? Además, copiar y pegar en su terminal muestra que los pods aún se están preparando: ¿cuánto tiempo espera y qué les sucede después de un tiempo (minutos)?

Lo abordo desde la perspectiva de Calico (otro CNI) porque esa es mi experiencia y parece que has dado los pasos iniciales parainstalar kubernetesy sus nodos están en funcionamiento. ¿Estás casado con Cilio? Calico tiene documentos para "el camino difícil"lo cual suena como lo que estás haciendo y podría darte más éxito, especialmente como dices"No puedo compartir ninguna documentación. La replicación es difícil." (No sé si es porque no estás siguiendo la documentación o es un secreto) Al instalar Calico, debes configurar y aplicardefiniciones de recursos personalizadosantes de instalar el CNI, ¿ha hecho algo similar y puede verificar que sea correcto? ¿Está absolutamente seguro de que el CIDR que está utilizando no se superpone con nada más? Tanto Calico como Cilium tienen una CLI. ¿La has instalado? ¿Puedes usar esa herramienta para obtener el estado y luego obtener algún error?

TLDR mis sugerencias:

  • Describir los pods u obtener registros de pods y buscar errores/eventos
  • Verifique los CDR y asegúrese de que la configuración sea correcta
  • Instale y utilice las herramientas CNI CLI para verificar el estado
  • Pruebe con un CNI diferente/siga las instrucciones para permitir la reproducción/depuración

información relacionada