Thursday, November 21, 2024

[Kubernetes] Xem các Image sử dụng bởi một ứng dụng cụ thể

-

Xuất danh sách Image dưới dạng cơ bản.

Bạn có thể sử dụng lệnh kubectl để xem các image được sử dụng bởi một ứng dụng cụ thể. Bạn có thể sử dụng lệnh sau để xem các image được sử dụng bởi ứng dụng có với namespace là wiki:

$ kubectl get pods -n wiki -o jsonpath='{.items[*].spec.containers[*].image}' | sort | uniq
mysql:5.6 wordpress:6.2.2

Hoặc.

$ kubectl get pods -n wiki -o=jsonpath='{range .items[*]}{@.metadata.name}:{range .spec.containers[*]}{@.image}{"\n"}{end}{end}'
wiki-mysql-5c884f6bc8-jlf5f:mysql:5.6
wiki-webserver-75b48b45cb-2ml4t:wordpress:6.2.2

Lệnh này sẽ trả về một danh sách các image được sử dụng bởi ứng dụng.

Xuất danh sách Image dưới dạng Json.

Dưới đây là cách bạn có thể chuyển đổi đầu ra của lệnh kubectl get pods thành định dạng JSON sử dụng công cụ jq:

kubectl get pods -o jsonpath='{.items[*].spec.containers[*].image}' | tr ' ' '\n' | sort | uniq | jq -s -R -c '{ "images": split("\n")[:-1] }'

Giải thích từng phần của lệnh:

  • kubectl get pods -o jsonpath='{.items[*].spec.containers[*].image}': Trích xuất tên hình ảnh từ các pod sử dụng jsonpath.
  • tr ' ' '\n': Chuyển đổi danh sách cách nhau bằng dấu cách thành danh sách cách nhau bằng dòng mới.
  • sort: Sắp xếp danh sách tên hình ảnh.
  • uniq: Loại bỏ các mục trùng lặp.
  • jq -s -R -c '{ "images": split("\n")[:-1] }': Sử dụng jq để chuyển đổi danh sách cách nhau bằng dòng mới thành mảng JSON, loại bỏ phần tử trống cuối cùng và bọc nó trong một đối tượng JSON với khóa “images”.

Hãy đảm bảo rằng bạn đã cài đặt jq trên hệ thống của mình để chạy lệnh này. Nếu bạn chưa cài đặt, bạn có thể sử dụng trình quản lý gói của mình để cài đặt nó. Ví dụ, trên Debian/Ubuntu, bạn có thể sử dụng:

sudo apt-get install jq

Điều chỉnh lệnh dựa trên yêu cầu cụ thể của bạn hoặc cấu trúc đầu ra của kubectl get pods.

Ví dụ.

$ kubectl get pods -n wiki -o jsonpath='{.items[*].spec.containers[*].image}' | tr ' ' '\n' | sort | uniq | jq -s -R -c '{ "images": split("\n")[:-1] }'
{"images":["mysql:5.6","wordpress:6.2.2"]}

Ngoài ra, bạn cũng có thể sử dụng công cụ trực quan hóa như Lens hoặc K9s để xem các image có trong Kubernetes. Các công cụ này cung cấp một cách trực quan hơn để xem thông tin về các image.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories