--- title: Initコンテナのデバッグ content_template: templates/task --- {{% capture overview %}} このページでは、Initコンテナの実行に関連する問題を調査する方法を説明します。以下のコマンドラインの例では、Podを``、Initコンテナを``および``として参照しています。 {{% /capture %}} {{% capture prerequisites %}} {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [Initコンテナ](/ja/docs/concepts/abstractions/init-containers/)の基本を理解しておきましょう。 * [Initコンテナを設定](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container/)しておきましょう。 {{% /capture %}} {{% capture steps %}} ## Initコンテナのステータスを確認する Podのステータスを表示します: ```shell kubectl get pod ``` たとえば、`Init:1/2`というステータスは、2つのInitコンテナのうちの1つが正常に完了したことを示します。 ``` NAME READY STATUS RESTARTS AGE 0/1 Init:1/2 0 7s ``` ステータス値とその意味の例については、[Podのステータスを理解する](#understanding-pod-status)を参照してください。 ## Initコンテナの詳細を取得する Initコンテナの実行に関する詳細情報を表示します: ```shell kubectl describe pod ``` たとえば、2つのInitコンテナを持つPodでは、次のように表示されます: ``` Init Containers: : Container ID: ... ... State: Terminated Reason: Completed Exit Code: 0 Started: ... Finished: ... Ready: True Restart Count: 0 ... : Container ID: ... ... State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: Error Exit Code: 1 Started: ... Finished: ... Ready: False Restart Count: 3 ... ``` また、Pod Specの`status.initContainerStatuses`フィールドを読むことでプログラムでInitコンテナのステータスにアクセスすることもできます。: ```shell kubectl get pod nginx --template '{{.status.initContainerStatuses}}' ``` このコマンドは生のJSONで上記と同じ情報を返します。 ## Initコンテナのログにアクセスする ログにアクセスするには、Initコンテナ名とPod名を渡します。 ```shell kubectl logs -c ``` シェルスクリプトを実行するInitコンテナは、実行時にコマンドを出力します。たとえば、スクリプトの始めに`set -x`を実行することでBashで同じことができます。 {{% /capture %}} {{% capture discussion %}} ## Podのステータスを理解する `Init:`で始まるPodステータスはInitコンテナの実行ステータスを要約します。以下の表は、Initコンテナのデバッグ中に表示される可能性のあるステータス値の例をいくつか示しています。 ステータス | 意味 ------ | ------- `Init:N/M` | Podは`M`個のInitコンテナを持ち、これまでに`N`個完了しました。 `Init:Error` | Initコンテナが実行に失敗しました。 `Init:CrashLoopBackOff` | Initコンテナが繰り返し失敗しました。 `Pending` | PodはまだInitコンテナの実行を開始していません。 `PodInitializing` or `Running` | PodはすでにInitコンテナの実行を終了しています。 {{% /capture %}}