.png)
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?
kubeadm
En el nodo de trabajo básicamente instalé kubelet
y kubectl
me 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 initialized
me 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