k8s/archive_1

5.Pod - debug

YOOANT 2026. 3. 17. 14:11

✅ Pod が正常に実行されない場合

nginx-pod.yaml

apiVersion: v1 # Pod を作成する際は v1 と記載する(公式ドキュメント)
kind: Pod # Pod を作成することを明示
metadata:
  name: nginx-pod # Pod に名前を付与
spec:
  containers:
    - name: nginx-container # 生成するコンテナの名前
      image: nginx:10.26.4 # コンテナ生成時に使用する Docker イメージであるが、存在しないバージョンを設定
      ports:
        - containerPort: 80 # 該当コンテナがどのポートを使用するか明示的に表現

 

Pod の作成

$ kubectl apply -f nginx-pod.yaml
$ kubectl get pods # Pod の状態を確認

出力結果の STATUS が ErrImagePull になっていることから、エラーが発生したことが推測できる。しかし、これは具体的なエラーメッセージではないため、STATUS だけを見て問題点を即座に把握するのが難しい場合がある。具体的なエラーメッセージを確認する。

 

エラーメッセージの確認

# kubectl describe pods [Pod名]
$ kubectl describe pods nginx-pod # nginx-pod Pod の詳細情報を照会

Events セクションを確認すると、どの段階でどのようなエラーが発生したのかを詳しく把握することができる。


✅ Pod のログを確認したい場合

マニフェストファイルの修正 nginx-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx-container
      image: nginx:1.26.2 # イメージバージョンを変更
      ports:
        - containerPort: 80

変更事項の適用

$ kubectl apply -f nginx-pod.yaml

Pod のログ確認

# kubectl logs [Pod名]
$ kubectl logs nginx-pod # Pod のログを表示

問題なく起動されていることが確認できる。
Events セクションでも問題なく起動されていることが確認できる。

 


✅ Pod に接続したい場合

# kubectl exec -it [Pod名] -- bash
$ kubectl exec -it nginx-pod -- bash

# kubectl exec -it [Pod名] -- sh
$ kubectl exec -it nginx-pod -- sh

 

  • Docker でコンテナに接続するコマンド(docker exec -it [コンテナID] bash)と非常に似ている。
  • コンテナの種類によって、内部に bash がインストールされている場合もあれば、sh のみがインストールされている場合もある。もし bash がインストールされていない環境で kubectl exec -it nginx-pod -- bash を実行すると、エラーが表示され接続に失敗する。その場合は、kubectl exec -it nginx-pod -- sh での接続を試行すること。

'k8s > archive_1' 카테고리의 다른 글

7.Deployment - SpringBoot 3台作成  (0) 2026.03.17
6.Deploymentとは?  (0) 2026.03.17
4.Pod - SpringBoot  (0) 2026.03.17
3.pod - nginx  (0) 2026.03.17
2.Kubernetes(k8s)とは?  (0) 2026.03.17

日本語