Rest Query для получения списка всех контейнеров во всем пространстве имен в Kubernetes - PullRequest
0 голосов
/ 18 октября 2018

Я знаю, что есть команда kubectl для вывода списка контейнеров во всех пространствах имен:

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

есть ли способ получить все контейнеры во всех пространствах имен с помощью запроса rest?

1 Ответ

0 голосов
/ 18 октября 2018

Вы не можете напрямую запросить API REST для контейнеров, поскольку наименьшая единица, которой вы можете управлять, - это Pod, как и в вашем примере kubectl.

Однако вы можете запросить все Pod и отфильтровать, используя такой инструмент, как jq.Очевидно, что при замене ваших $TOKEN и $CLUSTER, в зависимости от ситуации, должно работать следующее:

curl -XGET -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" https://$CLUSTER:8443/api/v1/pods?limit=500 | jq '.items[] .spec .containers[] .name'

Не уверен, что вышеприведенное имеет какую-либо выгоду по сравнению с использованием cli.В дополнение к этому, если вы используете инструмент oc, установите параметр --loglevel=9, и вы сможете увидеть, какой запрос отправляется на сервер.

...