Назад | Перейти на главную страницу

Как вывести список всех контейнеров в Kubernetes?

Как составить список всех контейнеров в кластере Kubernetes с помощью kubectl?

Текущий документация не упоминает ничего вроде ресурса-контейнера.

kubectl get pod -o json

перечисляет все модули, содержащие описания контейнеров. Но можно ли относить контейнеры к категории граждан первого класса?

Это получит весь контейнер с пространством имен в красивом формате:

kubectl get pods --all-namespaces -o=custom-columns=NameSpace:.metadata.namespace,NAME:.metadata.name,CONTAINERS:.spec.containers[*].name

Если вы не используете флаг пространства имен, вы смотрите только в пространстве имен по умолчанию. Пытаться

kubectl get pod --all-namespaces

Это перечислит все модули в вашем кластере

Вы можете фильтровать через пространство имен, например

kubectl get pod -n kube-system

Показать все контейнеры

kubectl get pods --all-namespaces -o jsonpath={.items[*].spec.containers[*].name}
kubectl get pods --all-namespaces

РЕДАКТИРОВАТЬ: блин, сгорел! :)

Вы можете перечислить все контейнеры в пространстве имен по умолчанию

kubectl get pods -o=jsonpath="{.items[*].spec.containers[*].name}"

Также вы можете использовать --namespace и --selector.

kubectl get pods --namespace default --selector app=nginx -o=jsonpath="{.items[*].spec.containers[*].name}"

Ссылка

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get https://kubernetes.io/docs/reference/kubectl/jsonpath/

kubectl describe pods <pod name>

Это перечислит контейнеры в модулях с заданным именем.