(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes】The node was low on resource: ephemeral-storageとなってPodが停止する事象

スポンサーリンク

事象

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を解消します。

以上、ご参考になれば幸いです。