事象
Podを起動するもkubectl describe pod
にて以下メッセージが見られ
Warning FailedScheduling 3s (x4 over 26s) default-scheduler 0/3 nodes are available: 3 node(s) had taints that the pod didn't tolerate.
展開先候補のNodeをkubectl describe node
を確認すると以下メッセージが表示されている。
Warning Evicted 4m42s kubelet, ... The node was low on resource: ephemeral-storage. Container .. was using 56Ki, which exceeds its request of 0. Normal Killing 4m42s kubelet, ... Stopping container ...
環境情報
$ kubectl get nodes NAME STATUS ROLES AGE VERSION test1 Ready master 4m29s v1.15.7
原因/解決策
Podが永続ストレージを要求している&Workerノードのストレージ要領が逼迫している。
よってWorkerノードにて不要ファイルを削除するかストレージ割り当てを増築する。
以下、補足です。
補足
Pod側にて永続ボリュームが必要な場合はyamlにてPVCを記載し以下の関係でPVが割り当てられます。
+------------+ | | | +----+ | +----+ +----+ +----+ | |Pod +<-------+ PV +<--+ SC +<--+PVC | | +----+ | +----+ +----+ +----+ | | +------------+
まず該当のPVが以下のように「Bound」かつ「HostPath」となっているのであれば
Name: hoge ... Status: Bound ... Reclaim Policy: Retain Access Modes: RWO VolumeMode: Filesystem Capacity: 1Gi .. Source: Type: HostPath (bare host directory volume) Path: /mnt/data ...
ノードの容量不足の可能性があります。
Podの状態を確認すると以下メッセージにてノードのストレージ都合で強制停止したことが確認できれば
Status: Failed Reason: Evicted Message: The node was low on resource: ephemeral-storage. Container ... was using 56Ki, which exceeds its request of 0.
空き容量がある別のWorkerノードが存在しないのであれば単純に落とし上げをしてもPendingとなります。
その場合はマウントしている場所を確認し、肥大化したファイルに対して削除や圧縮を行うことでPendingを解消します。
以上、ご参考になれば幸いです。