Kubernetes 노드 NotReady(cni 플러그인이 초기화되지 않음)

Kubernetes 노드 NotReady(cni 플러그인이 초기화되지 않음)

K8s 클러스터를 설치했습니다. 워킹 노드가 클러스터에 성공적으로 합류했습니다. 그러나 아직 준비되지 않았습니다.

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

이것은 ~ 때문이다: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

실제로 Pod가 작동하지 않습니다.

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>

삭제하면 다시 생성이 되지만 문제는 여전히 동일합니다.

이것대지CIDR의 잠재적인 문제를 언급하지만 그렇지 않은 것 같습니다.

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

무슨 일이 일어나고 있으며, 문제를 더 자세히 조사하려면 어떻게 해야 합니까?


Working Node에서는 기본적으로 을 설치 하고 kubeadm클러스터 에 가입했지만 CNI 플러그인과 관련된 것은 설치하지 않았습니다(CP에만 설치했습니다). Kubernetes는 CP에서 이 문제를 처리해야 하지만 이것이 궁금합니다.kubeletkubectlNetwork plugin returns error: cni plugin not initialized

답변1

노드에서 했던 것처럼 Pod를 설명하고 이벤트가 있는지 확인할 수 있나요? 또한 터미널을 복사하여 붙여넣으면 포드가 아직 준비 중인 것으로 표시됩니다. 얼마나 오래 기다려야 하며 시간(분) 후에 포드는 어떻게 되나요?

나는 Calico 관점(또 다른 CNI)에서 접근하고 있습니다. 왜냐하면 그것이 내 경험이고 귀하가 첫 단계를 완료한 것 같기 때문입니다.쿠버네티스 설치노드가 실행 중입니다. 실리움과 결혼하셨나요? Calico에는 "어려운 방법" 이는 당신이 하고 있는 일처럼 들리며 특히 당신이 말하는 것처럼 더 많은 성공을 가져올 수 있습니다. "어떤 문서도 공유할 수 없습니다. 복제가 어렵습니다." (문서를 따르지 않아서인지, 비밀인지는 모르겠지만) Calico를 설치할때 설정과 적용을 해줘야 합니다.사용자 정의 리소스 정의CNI를 설치하기 전에 비슷한 작업을 수행해 보았으며 그것이 올바른지 확인할 수 있습니까? 사용 중인 CIDR이 다른 것과 겹치지 않는다고 확신합니까? Calico와 Cilium에는 모두 CLI가 있습니다. 이것을 설치하셨나요? 해당 도구를 사용하여 상태를 확인한 후 오류가 발생할 수 있습니까?

내 제안을 TLDR:

  • Pod를 설명하거나 Pod 로그를 가져오고 오류/이벤트를 찾습니다.
  • CDR을 확인하고 구성이 올바른지 확인하세요.
  • CNI CLI 도구를 설치하고 사용하여 상태 확인
  • 다른 CNI를 시도하고 지침에 따라 재생산/디버깅을 허용하십시오.

관련 정보