Узел 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",

Что может происходить или как я могу глубже изучить проблему?


В рабочем узле я в основном установил kubeadmи присоединился к кластеру, но я не установил ничего kubelet, kubectlсвязанного с плагином CNI (я сделал это только на CP). Kubernetes должен заботиться об этом из CP, но это Network plugin returns error: cni plugin not initializedменя озадачивает.

решение1

Можете ли вы описать модули и посмотреть, есть ли какие-либо события, как вы делали с узлами? Кроме того, копирование и вставка вашего терминала показывает, что модули все еще готовятся — как долго вы ждете и что происходит с ними по истечении времени (минут)?

Я подхожу к этому с точки зрения Calico (еще один CNI), потому что это мой опыт, и мне кажется, что вы уже сделали первые шаги кустановить Кубернетеси ваши узлы работают и работают. Вы женаты на Cilium? У Calico есть документы для "Трудный путь"что похоже на то, что вы делаете, и может принести больше успеха, особенно, как вы говорите"Я не могу поделиться никакой документацией. Репликация затруднена." (Я не знаю, это потому, что вы не следуете документации, или это секрет) При установке Calico вам необходимо настроить и применитьпользовательские определения ресурсовпрежде чем устанавливать CNI - вы делали что-то подобное и можете ли вы проверить, что это правильно? Вы абсолютно уверены, что используемый вами CIDR не пересекается ни с чем другим? У Calico и Cilium есть CLI - вы его установили? Можете ли вы использовать этот инструмент, чтобы получить статус, а затем получить какие-либо ошибки?

Вкратце мои предложения:

  • Опишите модули или получите журналы модулей и найдите ошибки/события.
  • Проверьте все CDR и убедитесь, что конфигурация правильная.
  • Установите и используйте инструменты CNI CLI для проверки статуса
  • Попробуйте другой CNI/следуйте инструкциям, чтобы разрешить воспроизведение/отладку

Связанный контент