Как составить список всех контейнеров в кластере 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>
Это перечислит контейнеры в модулях с заданным именем.