web-dev-qa-db-ja.com

Kuberneteskube-dnsポッドは保留中です

これを試してみました doc UbuntuVMにKubernetesをインストールしてセットアップしました。 3/4まで終了しましたが、kube-dnsポッドは保留状態になっています。どうすればこれを理解できますか?これがkubectl get pods --namespace=kube-systemkubectl describe pod <pod name>の結果です

# kubectl get pods --namespace=kube-system
NAME                              READY     STATUS    RESTARTS   AGE
dummy-2088944543-jk2t2            1/1       Running   0          3h
etcd-ubuntu                       1/1       Running   0          3h
kube-apiserver-ubuntu             1/1       Running   0          3h
kube-controller-manager-ubuntu    1/1       Running   0          3h
kube-discovery-1769846148-h88v4   1/1       Running   0          3h
kube-dns-2924299975-dfp17         0/4       Pending   0          3h
kube-proxy-zdcxw                  1/1       Running   0          3h
kube-scheduler-ubuntu             1/1       Running   0          3h
weave-net-xwfhj                   2/2       Running   0          2h

# kubectl describe pod kube-dns-2924299975-dfp17
Error from server (NotFound): pods "kube-dns-2924299975-dfp17" not found
6

原因

おそらく、クラスター内で利用可能なコンピューティングリソースが不足しています。

cluster/addons/dns の例を使用している場合は、確かにDeploymentをリソース要求で使用しており、リンクをクリックすると強調表示されます。他のポッドがすでにクラスター内の利用可能なすべてのリソースを要求している可能性があるため、ポッドはスケジュールされません。

その理論をkubectl --namespace=kube-system describe pod kube-dns-2924299975-dfp17で確認し、次のイベントを探すことができます。

Reason                Message
------                -------
FailedScheduling      pod (kube-dns-2924299975-dfp17) failed to fit in any node
fit failure summary on nodes : Insufficient cpu (3)

kubectl describe node <node-name>を使用してノードを記述し、最後の情報を確認することもできます。

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.
  CPU Requests  CPU Limits      Memory Requests Memory Limits
  ------------  ----------      --------------- -------------
  320m (8%)     300m (7%)       150Mi (1%)      150Mi (1%)

あなたの場合、CPUまたはメモリの割り当ては100%に近いはずです。

解決

  • クラスターにコンピューティングリソース/ノードを追加する(推奨)
  • リソースをオーバーコミットするリスクを冒して、ポッドからリソースリクエストを削除します
16
Antoine Cotten