毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
とある案件でKubernetesクラスターにあるリソースの一覧を取得する必要があったので、スクリプトを作成しました。
1. Kubernetesクラスターのリソース一覧を取得
Namespace毎に分けて出力する
#!/bin/bash
for n in $(kubectl get namespace -o custom-columns=NAME:.metadata.name| grep -v "NAME");
do
echo "namespace: $n"
for i in $(kubectl api-resources --namespaced --verbs=list -o name | tr "\n" " ");
do
kubectl get $i -n ${n} --show-kind --ignore-not-found;
done
echo -e "-----\n"
done > kubectl_get_all_resources.list.txt
以下のファイルに出力されます。
kubectl_get_all_resources.list.txt
2. 注意点
結構時間がかるのでのんびり待つ
3. 参考
以下のブログを参考にさせていただきました。
List All Resources in a Namespace in Kubernetes | Baeldung on Linux
https://www.baeldung.com/linux/kubernetes-list-all-resources