◾️はじめに
以下の「つくって、壊して、直して学ぶ Kubernetes入門」の トラブルシュート方法を学べたので、自分なりにまとめておく
目次
【0】トラブルシュートで役立つコマンド 【1】「kubectl get pod」で確認 【2】「kubectl get pod」の各Statusで次に行うこと 1)CrashLoopBackOff の場合 2)ImagePullBackOff の場合 3)Pending の場合 4)Running の場合
【0】トラブルシュートで役立つコマンド
* kubuctlコマンドの詳細については、以下の関連記事を参照のこと
kubectlコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555
【1】「kubectl get pod」で確認
* まず意図した動作をしていない場合は、「kubectl get pod」を実行する
「kubectl get pod」でStatusはどうなっているか?
Status | Next Action |
---|---|
CrashLoopBackOff | 【2】「1)CrashLoopBackOff の場合」を参照 |
ImagePullBackOff | 【2】「2)ImagePullBackOff の場合」を参照 |
Pending | 【2】「3)Pending の場合」を参照 |
Running | 【2】「4)Running の場合」を参照 |
OOMKilled | コンテナ内のOut of Memoryなのでメモリ増強を考える |
【2】「kubectl get pod」の各Statusで次に行うこと
1)CrashLoopBackOff の場合
* コンテナのログを参照する
コンテナのログを参照し、エラーログがあるかどうか?
Answer | Actions |
---|---|
エラーがある | そのエラーを潰していく |
エラーがない | LivenessProbeの設定を見直す |
2)ImagePullBackOff の場合
* 以下を順次確認する [1] イメージ名があっているか => OKだったら[2] [2] タグ名があっているか => OKだったら[3] [3] プライベートリポジトリの場合、リポジトリ権限に問題がないか確認する
3)Pending の場合
* 「kubectl describe pod <POD_NAME>」でEventsに書かれている内容を確認する
4)Running の場合
[1] Pod内のコンテナは全てReadyかどうか?
Answer | Next Actions |
---|---|
YES | 「kubectl describe pod <POD_NAME>」でReadiness Probe/Liveness Probeで成功しているか確認し、成功していれば、Probeを見直す |
NO | 『 [2] 「kubectl logs <POD_NAME>」でエラーがあるか?』へ移行 |
[2] 「kubectl logs <POD_NAME>」でエラーがあるか?
Answer | Next Actions |
---|---|
YES | エラーをつぶす(アプリを見直す) |
NO | 『 [3] 「kubectl logs <POD_NAME>」でエラーがあるか?』へ移行 |
[3] 「kubectl describe [SERVICE_NAME]
Answer | Next Actions |
---|---|
YES | kubectl port-forward service/[SERVICE_NAME]8080: |
NO | ServiceのSelectorが間違っている可能性があるので確認する |
関連記事
Kubernetes ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ Linux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/02/005053
Kubernetes ~ MicroK8s / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/03/10/230329
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
Kubernetes ~ Kubernetes Dashboard ~
https://dk521123.hatenablog.com/entry/2023/05/27/144144
Kubernetes ~ 基本編 / Pod ~
https://dk521123.hatenablog.com/entry/2024/03/16/111336
Kubernetes ~ 基本編 / minikube ~
https://dk521123.hatenablog.com/entry/2023/05/07/214515
Kubernetes ~ 基本編 / kubeconfigファイル ~
https://dk521123.hatenablog.com/entry/2023/05/24/211803
Kubernetes ~ 基本編 / Helm ~
https://dk521123.hatenablog.com/entry/2023/05/11/000840
kubectlコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555
Amazon EKS ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/02/23/000000
Kubernetes / minikube に関するトラブル
https://dk521123.hatenablog.com/entry/2024/10/24/210338