すべてのプロダクト
Search
ドキュメントセンター

:一般的なPodエラー

最終更新日:Nov 10, 2025

Enterprise Distributed Application Service(EDAS)のContainer Service for Kubernetes(ACK)クラスターにデプロイされた実行中のアプリケーションで発生するほとんどのエラーは、Podエラーです。このトピックでは、一般的なPodエラーとその解決策について説明します。

一般的なPodエラー

ImagePullBackOff

このエラーは、ACKクラスターがPod内のコンテナーのイメージをプルできない場合に発生します。

考えられる原因:

  • 指定されたイメージ名が無効です。たとえば、イメージ名のスペルが間違っているか、イメージが存在しません。
  • イメージに指定したタグが存在しません。
  • イメージがプライベートリポジトリにあります。ACKクラスターには、リポジトリにアクセスするための資格情報がありません。

解決策:

  • 最初の2つの原因の場合は、イメージ名とタグを変更できます。
  • 3番目の原因の場合は、Secretを使用してプライベートリポジトリのアクセス資格情報をACKクラスターに追加し、対応するPodでこのSecretを参照する必要があります。

CrashLoopBackOff

コンテナーの起動に失敗した場合、対応するACKクラスターはこのエラーを返します。

考えられる原因:

  • アプリケーションエラーが原因で、コンテナー内のアプリケーションが起動に失敗します。
  • コンテナーが正しく構成されていません。
  • liveness probeの失敗回数が最大制限を超えています。

解決策:

コンテナーからログを取得して、障害の原因を特定できます。コンテナーが再起動するのが速すぎてログを表示できない場合は、次のコマンドを実行できます。

$ kubectl logs <pod-name> --previous  // 前回のPodのログを取得

RunContainerError

このエラーは、コンテナーを起動できない場合に発生します。

考えられる原因:

  • 存在しないボリューム(ConfigMapやSecretsなど)がマウントされています。
  • 読み取り専用ボリュームが読み取り/書き込みボリュームとしてインストールされています。

解決策:

次のコマンドを実行して情報を収集し、エラーを分析します。

kubectl describe pod // Podの詳細情報を表示

保留中の状態のPod

アプリケーションの作成時に、Podが保留中の状態のままになります。

考えられる原因:

  • 対応するクラスターに、Podを実行するための十分なリソース(CPUやメモリなど)がありません。
  • 現在の名前空間にResourceQuotaオブジェクトの値が指定されています。Podを作成した後、名前空間のリソースがリソースクォータを超えます。
  • Podが保留中の状態の永続ボリューム要求にバインドされています。

解決策:

  • 次のコマンドを実行し、出力の「event」セクションを確認するか、コンソールで関連するアプリケーションイベントを確認します。詳細については、「アプリケーションイベントの表示」をご参照ください。
    $ kubectl describe pod <pod name> // Podの詳細情報を表示
  • エラーがResourceQuotaによって発生した場合は、次のコマンドを実行してクラスターログを確認します。
    $ kubectl get events --sort-by=.metadata.creationTimestamp // イベントを時刻順に表示

未準備状態のPod

Podが実行中であるが、未準備状態の場合、readiness probeが失敗します。

考えられる原因:

readiness probeが失敗すると、Podはサービスに接続されず、トラフィックは対応するインスタンスに転送されません。

解決策:

このエラーはアプリケーション固有です。次のコマンドを実行し、出力の「event」セクションを確認するか、コンソールで関連するアプリケーションイベントを確認します。詳細については、「アプリケーションイベントの表示」をご参照ください。

$ kubectl describe pod <pod name> // Podの詳細情報を表示