JSONPath
Часть раздела Введение в Kubernetes путешествия по Terminal на Coddy. Урок 36 из 45.
Часто вам нужно одно значение, а не весь объект. -o jsonpath извлекает поля из объекта с помощью выражения пути, записанного в фигурных скобках:
kubectl get pod web -o jsonpath='{.status.podIP}'Эта команда выводит только IP-адрес Pod. Путь следует структуре YAML: status, затем podIP.
Списки индексируются с помощью квадратных скобок. Образ первого контейнера:
kubectl get pod web -o jsonpath='{.spec.containers[0].image}'Для списка объектов .items[*] выбирает каждый элемент, поэтому kubectl get pods -o jsonpath='{.items[*].metadata.name}' выводит все имена Pod в одной строке.
jsonpath выводит ровно то, что вы запрашиваете, без символа новой строки в конце. Добавьте {"\n"} внутри фигурных скобок, если хотите добавить его.
Задание
ЛегкоЗапустите Pod с именем web из образа nginx, затем используйте jsonpath, чтобы вывести его IP-адрес, и снова jsonpath, чтобы вывести образ его первого контейнера.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в Kubernetes
Потренируйтесь самостоятельно: Песочница Terminal