.png)
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에서 이 문제를 처리해야 하지만 이것이 궁금합니다.kubelet
kubectl
Network 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를 시도하고 지침에 따라 재생산/디버깅을 허용하십시오.