kubectlでPodで使われているイメージの一覧を取得

スポンサーリンク

はじめに

kubectl-imagesを使って、簡単にPodで使われているイメージの一覧を表示する方法を紹介します。

kubectl-images

kubectl-imagesは、Podのイメージを簡単に取得できるkubectlのプラグインです。

GitHub - chenjiandongx/kubectl-images: 🕸 Show container images used in the cluster.
🕸 Show container images used in the cluster. Contribute to chenjiandongx/kubectl-images development by creating an account on GitHub.

インストール

krewを使って、下記のコマンドからインストールできます。

kubectl krew install images

krewについては、下記を参照してください。

【Kubernetes】Krewでkubectlのプラグインを管理する
はじめにkubectlのプラグインを管理できるKrewについて紹介していきます。KrewとはKrewは、kubectlコマンドのプラグインマネージャーになります。kubectlのプラグインの検索やインストール、アップデートが楽にで...

使い方

基本は下記のコマンドでイメージを表示できます。

kubectl images
❯ kubectl images
[Summary]: 1 namespaces, 6 pods, 15 containers and 5 different images
+--------------------------+-----------+--------------------+
|           Pod            | Container |       Image        |
+--------------------------+-----------+--------------------+
| busybox-7886f567c4-4w54p | bb1       | busybox:1.34       |
+                          +-----------+--------------------+
|                          | bb2       | busybox:1.35       |
+                          +-----------+--------------------+
|                          | bb3       | busybox:1.34-glibc |
+--------------------------+-----------+--------------------+
| busybox-7886f567c4-k4fps | bb1       | busybox:1.34       |
+                          +-----------+--------------------+
|                          | bb2       | busybox:1.35       |
+                          +-----------+--------------------+
|                          | bb3       | busybox:1.34-glibc |
+--------------------------+-----------+--------------------+
| busybox-7886f567c4-xwd2p | bb1       | busybox:1.34       |
+                          +-----------+--------------------+
|                          | bb2       | busybox:1.35       |
+                          +-----------+--------------------+
|                          | bb3       | busybox:1.34-glibc |
+--------------------------+-----------+--------------------+
| web-667f6545d8-nplwm     | web       | nginx:1.23         |
+                          +-----------+--------------------+
|                          | redis     | redis:7-bullseye   |
+--------------------------+-----------+--------------------+
| web-667f6545d8-wncqm     | web       | nginx:1.23         |
+                          +-----------+--------------------+
|                          | redis     | redis:7-bullseye   |
+--------------------------+-----------+--------------------+
| web-667f6545d8-wwtwg     | web       | nginx:1.23         |
+                          +-----------+--------------------+
|                          | redis     | redis:7-bullseye   |
+--------------------------+-----------+--------------------+

-uでユニークなイメージにまとめることができます。

kubectl images -u
❯ kubectl images -u
[Summary]: 1 namespaces, 6 pods, 15 containers and 5 different images
+--------------------------+-----------+--------------------+
|           Pod            | Container |       Image        |
+--------------------------+-----------+--------------------+
| busybox-7886f567c4-4w54p | bb1       | busybox:1.34       |
+                          +-----------+--------------------+
|                          | bb2       | busybox:1.35       |
+                          +-----------+--------------------+
|                          | bb3       | busybox:1.34-glibc |
+--------------------------+-----------+--------------------+
| web-667f6545d8-nplwm     | web       | nginx:1.23         |
+                          +-----------+--------------------+
|                          | redis     | redis:7-bullseye   |
+--------------------------+-----------+--------------------+

-cオプションと[0:Namespace, 1:PodName, 2:ContainerName, 3:ContainerImage, 4:ImagePullPolicy]それぞれの数字で表示する情報をカスタマイズできます。

kubectl images -c 0,1,2,3,4
❯ kubectl images -u -c 0,1,2,3,4
[Summary]: 1 namespaces, 6 pods, 15 containers and 5 different images
+-----------+--------------------------+-----------+--------------------+-----------------+
| Namespace |           Pod            | Container |       Image        | ImagePullPolicy |
+-----------+--------------------------+-----------+--------------------+-----------------+
| default   | busybox-7886f567c4-4w54p | bb1       | busybox:1.34       | IfNotPresent    |
+           +                          +-----------+--------------------+                 +
|           |                          | bb2       | busybox:1.35       |                 |
+           +                          +-----------+--------------------+                 +
|           |                          | bb3       | busybox:1.34-glibc |                 |
+           +--------------------------+-----------+--------------------+                 +
|           | web-667f6545d8-nplwm     | web       | nginx:1.23         |                 |
+           +                          +-----------+--------------------+                 +
|           |                          | redis     | redis:7-bullseye   |                 |
+-----------+--------------------------+-----------+--------------------+-----------------+

エイリアス

私はkubectl-aliasesを使って、まとめてエイリアスを設定しているので、kubectl-images用に下記のようなエイリアスを設定しています。

alias kimg='kubectl images'

kbectl-aliasesについては下記を参照してください。

GitHub - ahmetb/kubectl-aliases: Programmatically generated handy kubectl aliases.
Programmatically generated handy kubectl aliases. Contribute to ahmetb/kubectl-aliases development by creating an account on GitHub.
kubectl-aliasesでkubectlコマンドのエイリアスを一括設定
はじめにkubectlコマンドのエイリアスが大量に設定されているkubectl-aliasesの設定とその使い方を紹介したいと思います。kubectl-aliaseskubectl-aliasesでは、kubectlコマンドのエイリア...

参考

タイトルとURLをコピーしました