kubectlでpodのログを確認するまで
context、namaspace、deploymentがわかっている状態からどうやって確認するかメモ
contextの確認・設定
設定は ~/.kube/config
に書いてある。
# 一覧表示 kubectl config get-contexts # 切り替え kubectl config use-context my-context # 現在のcontextの表示 kubectl config current-context
namespaceの確認
同一の物理クラスター上で動作する複数の仮想クラスター https://kubernetes.io/ja/docs/concepts/overview/working-with-objects/namespaces/
# namespaceの一覧表示 kubectl get namespace
Deployment・ReplicaSet・Podの確認
- Deploymentによって、複数のPodのセット(ReplicaSet)が作成される。
Deployment ⊃ Replicaset ⊃ Pod
という関係。- ReplicaSetの名前は
[Deployment名]-[ランダム文字列]
- Podの名前は
[ReplicaSet名]-[ランダム文字列]
- Podの名前から、どのReplicaSetやDeploymentに属しているかがわかる。
# Deployment 一覧表示 # --namespaceでnamespaceの指定ができる kubectl get deployments --namespace=my-space # Deployment 1件表示 kubectl get deployment my-deployment --namespace=my-space # ReplicaSetの確認 kubectl get rs --namespace=my-space # Podの確認 kubectl get pods --namespace=my-space
Podのログを確認する
https://kubernetes.io/ja/docs/reference/kubectl/cheatsheet/
kubectl logs my-pod # Podのログをダンプします(標準出力) kubectl logs -l name=myLabel # name=myLabelラベルの持つPodのログをダンプします(標準出力) kubectl logs my-pod --previous # 以前に存在したコンテナのPodログをダンプします(標準出力) kubectl logs my-pod -c my-container # 複数コンテナがあるPodで、特定のコンテナのログをダンプします(標準出力) kubectl logs -l name=myLabel -c my-container # name=mylabelラベルを持つPodのログをダンプします(標準出力) kubectl logs my-pod -c my-container --previous # 複数コンテナがあるPodで、以前に作成した特定のコンテナのログをダンプします(標準出力) kubectl logs -f my-pod # Podのログをストリームで確認します(標準出力) kubectl logs -f my-pod -c my-container # 複数のコンテナがあるPodで、特定のコンテナのログをストリームで確認します(標準出力) kubectl logs -f -l name=myLabel --all-containers # name-myLabelラベルを持つすべてのコンテナのログをストリームで確認します(標準出力)
(補足)ログインする
kubectl exec -it my-pod -- bash