Как мне перечислить все контейнеры в кластере 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 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/ ссылка / сгенерированный / kubectl / kubectl-commands # get https://kubernetes.io/docs/reference/kubectl/jsonpath/
Когда вы не используете флаг пространства имён, вы ищете только в пространстве имён по умолчанию. Попробуйте
kubectl get pod --all-namespaces
Это перечислит все поды в вашем кластере
Вы можете фильтровать через пространство имён как
kubectl get pod -n kube-system
Чтобы показать все контейнеры
kubectl get pods --all-namespaces -o jsonpath={.items[*].spec.containers[*].name}
kubectl describe pods <pod name>
Это список контейнеров в подах с заданным именем.