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

実際、ポッドは動作していません。

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、基本的に をインストールしkubeletkubectlクラスターに参加しましたが、CNI プラグインに関連するものは何もインストールしませんでした (CP でのみインストールしました)。Kubernetes は CP からそれを処理するはずですが、Network plugin returns error: cni plugin not initialized私にはわかりません。

答え1

ノードの場合と同じように、ポッドを説明して、イベントがあるかどうかを確認できますか? さらに、ターミナルのコピー アンド ペーストでは、ポッドがまだ準備中であることが示されています。どのくらい待機し、時間 (分) が経過すると、ポッドに何が起きますか?

私はカリコ(別のCNI)の観点からそれをやっています。それは私の経験であり、あなたは最初のステップを踏んだようです。Kubernetesをインストールするノードが起動して稼働しています。Cilium と結婚していますか? Calico には「困難な道「それはあなたがやっていることのようですし、特にあなたが言うように、より成功するかもしれません」ドキュメントを共有できません。複製は困難です。「(ドキュメントに従っていないからなのか、秘密なのかはわかりませんが)Calicoをインストールするときは、設定して適用する必要があります。カスタムリソース定義CNI をインストールする前に、同様の操作を行って、それが正しいことを確認できましたか? 使用している CIDR が他のものと重複していないことを確信していますか? Calico と Cilium の両方に CLI があります。これをインストールしましたか? そのツールを使用してステータスを取得し、エラーを取得できますか?

私の提案を要約すると:

  • ポッドを説明するか、ポッドログを取得してエラーやイベントを探す
  • CDRをチェックし、設定が正しいことを確認します
  • CNI CLIツールをインストールして使用し、ステータスを確認します。
  • 再現/デバッグを可能にするために、別のCNI/指示に従ってください

関連情報