MeWrite Docs

Kubernetes: Pod Evicted

Kubernetesでリソース不足によりPodが退避されるエラーの原因と解決策

概要

ノードのリソース(メモリ、ディスク)が不足した際にPodが強制的に退避されるエラーです。

エラーメッセージ

``` Status: Failed Reason: Evicted Message: The node was low on resource: memory. Container app was using 2048Mi, which exceeds its request of 512Mi. ```

原因

  1. ノードのメモリ不足: memory.available < 100Mi
  2. ノードのディスク不足: nodefs.available < 10%
  3. Pod数過多: ノードのPod上限超過
  4. ephemeral-storageの超過

解決策

1. 退避の原因を確認

```bash kubectl describe node | grep -A5 Conditions kubectl get events –field-selector reason=Evicted ```

2. リソース要求を適切に設定

```yaml resources: requests: memory: “256Mi” ephemeral-storage: “1Gi” limits: memory: “512Mi” ephemeral-storage: “2Gi” ```

3. PriorityClassで重要なPodを保護

```yaml apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: name: high-priority value: 1000000 globalDefault: false description: “Critical pods”

apiVersion: v1 kind: Pod spec: priorityClassName: high-priority ```

4. eviction閾値を調整

```yaml

kubelet設定

evictionHard: memory.available: “200Mi” nodefs.available: “15%” evictionSoft: memory.available: “500Mi” evictionSoftGracePeriod: memory.available: “1m” ```

よくある間違い

  • requests未設定でBestEffort QoS
  • ログを大量出力してディスク圧迫
  • 退避されたPodを手動削除しない

関連エラー

関連エラー

Kubernetes の他のエラー

最終更新: 2025-12-10