付録A:kubectlクイックリファレンス

本付録は、本文中で頻出する kubectl の操作を目的別に整理します。
コマンドは例であり、namespace は適宜 -n で指定してください。

表記

  • <ns>: namespace
  • <name>: リソース名
  • -A: 全 namespace(all namespaces)

観測(一覧/詳細)

目的 コマンド例
リソース一覧 kubectl -n <ns> get all
Pod 一覧(詳細) kubectl -n <ns> get pod -o wide
YAML 出力 kubectl -n <ns> get deploy <name> -o yaml
詳細表示 kubectl -n <ns> describe pod <name>
イベント kubectl -n <ns> get events --sort-by=.lastTimestamp
ラベル表示 kubectl -n <ns> get pod --show-labels
ラベル検索 kubectl -n <ns> get pod -l key=value

補足:

  • kubectl get all はすべてのリソースを表示しません(Ingress/ConfigMap/Secret 等は含まれません)。
  • --sort-by=.lastTimestamp が期待どおりでない場合は、--sort-by=.metadata.creationTimestamp を試してください。

適用(作成/更新/削除)

目的 コマンド例
適用 kubectl apply -f <file-or-dir>
削除 kubectl delete -f <file-or-dir>
差分確認 kubectl diff -f <file-or-dir>

デバッグ

目的 コマンド例
ログ kubectl -n <ns> logs <pod>
ログ(複数Pod) kubectl -n <ns> logs deploy/<name> --all-containers=true
シェル kubectl -n <ns> exec -it <pod> -- sh
port-forward kubectl -n <ns> port-forward svc/<svc> 8080:80

仕様確認(API)

目的 コマンド例
リソース一覧 kubectl api-resources
マニフェストの説明 kubectl explain deployment.spec.template.spec.containers

よく使うオプション

  • -n <ns>: namespace 指定
  • -A: 全 namespace
  • -o wide|yaml|json: 出力形式
  • --context <ctx>: 対象クラスタ/コンテキスト指定
  • --sort-by=<jsonpath>: ソート

参考

  • kubectl コマンドリファレンス: https://kubernetes.io/docs/reference/kubectl/