【k8s】デバッグに役立つkubectlコマンド ~ kubectl get/describe/api-resources ~

◾️はじめに

https://dk521123.hatenablog.com/entry/2025/03/13/003015
https://dk521123.hatenablog.com/entry/2025/03/15/231209

の続き。

今回は、kubectl get/describeコマンドについて、徐々にまとめる。
ついでに、kubectl api-resourcesってのも追加しておく。
Commands Explanation
kubectl get/describe Podなどの状態などの情報を取得(★今回のテーマ)
kubectl debug デバッグ用のサイドカーコンテナを立ち上げる
kubectl exec コンテナ内に入る
kubectl cp コンテナ-Client内のファイル移動
kubectl logs コンテナのログを取得

目次

【1】k8s情報取得するkubectlコマンド
 1)kubectl get
 2)kubectl describe
 3)kubectl api-resources
【2】オプション
 1)オプション「-o」
 2)オプション「--all-namespaces」
【3】Tips
 1)オブジェクトの略語
【4】コマンド例
 例1:全オブジェクト一覧表示
 例2:オブジェクトの詳細情報
 例3:タイムスタンプでソートしたEvents一覧

【1】k8s情報取得するkubectlコマンド

1)kubectl get

* オブジェクトの情報取得

2)kubectl describe

* オブジェクトの詳細情報取得

https://kubernetes.io/docs/reference/kubectl/generated/kubectl_describe/

3)kubectl api-resources

* サポートされているすべてのリソースタイプをその短縮名で表示

https://kubernetes.io/docs/reference/kubectl/generated/kubectl_api-resources/
コマンド例
https://kubernetes.io/ja/docs/reference/kubectl/cheatsheet/

# より抜粋

# 名前空間付きのすべてのリソースを表示します
kubectl api-resources --namespaced=true
# 名前空間のないすべてのリソースを表示します
kubectl api-resources --namespaced=false
 # すべてのリソースを単純な出力(リソース名のみ)で表示します
kubectl api-resources -o name
# すべてのリソースを拡張された形(別名 "wide")で表示します
kubectl api-resources -o wide
# "list"および"get"操作をサポートするすべてのリソースを表示します
kubectl api-resources --verbs=list,get
# "extensions" APIグループのすべてのリソースを表示します
kubectl api-resources --api-group=extensions

【2】オプション

1)オプション「-o」

* 出力形式を指定する
オプション例 説明 備考
-o wide IPアドレスやNode情報が取得できる
-o yaml YAML形式で取得 値を変更してデプロイなどに使える

2)オプション「--all-namespaces」

* 全Namespacesで表示
 => 一旦、全部だしとこーかなって時に便利

【2】Tips

1)オブジェクトの略語

* k8s のオブジェクトは略語でも可能

https://qiita.com/pma1013/items/20071f27bb9f0b8ee404

略語 正式名
ns namespaces
no nodes
ing ingresses
svc services
ep endpoints
ds daemonsets
deploy deployment
rs replicasets
sts statefulsets
po pods
sa serviceaccounts (Service Accounts)
pdb poddisruptionbudgets (Pod Disruption Budgets)
cj cronjobs
sc storageclasses
pv persistentvolumes
pvc persistentvolumeclaims

【4】コマンド例

例1:全オブジェクト一覧表示

kubectl get "$(kubectl api-resources --verbs=list -o name | tr "¥n" "," | sed -e 's/,$//') -o wide --all-namespaces"

# 使用しているLinuxコマンドの詳細は、以下の関連記事を参照の事

ファイル内容を操作するコマンド(trコマンド)
https://dk521123.hatenablog.com/entry/2023/07/26/000000
sedコマンド
https://dk521123.hatenablog.com/entry/2019/11/23/101625

例2:オブジェクトの詳細情報

kubectl describe ns,no,ing,svc,endpoints,ds,deploy,rs,sts,po,sa,pdb,cj,jobs,sc,pv,pvc --all-namespaces 2>/dev/null

補足:SecretNameについて

* 当然、Secret名も「SecretName: demo-secret」みたいに出力される
 => マスクしたい場合、置換や削除などして対応 (VIMでの例は以下の関連記事を参照)

https://dk521123.hatenablog.com/entry/2025/03/20/000000

例3:タイムスタンプでソートしたEvents一覧

date && kubectl get events --sort-by=.metadata.creationTimestamp --all-namespaces

関連記事

Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
kubectlコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555
デバッグに役立つkubectlコマンド ~ kubectl debug ~
https://dk521123.hatenablog.com/entry/2025/03/13/003015
デバッグに役立つkubectlコマンド ~ kubectl logs ~
https://dk521123.hatenablog.com/entry/2025/03/15/231209
Kubernetes ~ ConfigMap ~
https://dk521123.hatenablog.com/entry/2025/03/11/000418
Kubernetes ~ トラブルシュート方法 ~
https://dk521123.hatenablog.com/entry/2025/02/13/233043
screenコマンド
https://dk521123.hatenablog.com/entry/2024/01/03/015517
tmuxコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/11/13/020744
tmuxコマンド ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2024/01/08/171950
screenコマンド
https://dk521123.hatenablog.com/entry/2024/01/03/015517
watchコマンド
https://dk521123.hatenablog.com/entry/2024/03/24/232633
grep / egrep / fgrepコマンド
https://dk521123.hatenablog.com/entry/2017/08/06/213100
ファイル内容を操作するコマンド
https://dk521123.hatenablog.com/entry/2023/07/26/000000
sedコマンド
https://dk521123.hatenablog.com/entry/2019/11/23/101625
VIM ~ 置換 / 変換 ~
https://dk521123.hatenablog.com/entry/2025/03/20/000000