.png)
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
, kubelet
e kubectl
entrei 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 initialized
me 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