0

Let's say I want to list pods, and show their name and the number of containers they're running. If I just want the images tags themselves, I could do something like

λ kubectl get pods --output custom-columns='NAME:.metadata.namespace,IMAGES:.spec.containers[*].image'
NAME                IMAGES
prometheus-system   quay.io/prometheus/prometheus:v2.21.0,quay.io/prometheus-operator/prometheus-config-reloader:v0.42.1,jimmidyson/configmap-reload:v0.4.0
prometheus-system   quay.io/prometheus-operator/prometheus-operator:v0.42.1

But how do I make it display just the number of containers? In other words, what do I put for the selector to get the lenght of the slice, to give me output like this instead?

λ kubectl get pods --output custom-columns='NAME:.metadata.namespace,CONTAINERS:<what goes here?>'
NAME                CONTAINERS
prometheus-system   3
prometheus-system   1

(Eventually, I want to put this on a CRD to display the length of a list in its default output, but I figure this use case is more reproducible, and therefore easier to relate to. IIUC - but please correct me if I'm wrong! - a solution that works for this question, will also work for the display-columns of a CRD...)

Tomas Aschan
  • 58,548
  • 56
  • 243
  • 402

0 Answers0