Количество узлов, у которых нет метки? - PullRequest
0 голосов
/ 17 июня 2019

Как использовать kubectl для получения узлов K8S, у которых нет меток?Кроме того, как я могу получить стручки K8S, у которых нет меток?

Ответы [ 4 ]

1 голос
/ 17 июня 2019

Вы должны использовать флаг kubectl -o и вывод go-шаблона:

kubectl get nodes -o go-template='{{range .items }}{{if .metadata.labels }}{{else}}{{printf "%s\n" .metadata.name}}{{ end }}{{end}}

Эта команда покажет только узлы, у которых нет меток. То же самое можно использовать для стручков:

kubectl get pods --all-namespaces -o go-template='{{range .items }}{{if .metadata.labels }}{{else}}{{printf "%s\n" .metadata.name}}{{ end }}{{end}}'
0 голосов
/ 17 июня 2019

Нет конкретного способа проверить, нет ли вообще ярлыков, не перечисляя все возможные ярлыки. Вы должны сделать это на стороне клиента.

0 голосов
/ 17 июня 2019

нет способа проверить узлы / модули, которые не имеют меток. Вместо этого вы можете проверить наличие узлов / модулей для конкретной метки

выполните следующие шаги

добавить ярлык mylabel = k8s

master $ kubectl get no
NAME      STATUS    ROLES     AGE       VERSION
master    Ready     master    51m       v1.11.3
node01    Ready     <none>    50m       v1.11.3
master $
master $
master $ kubectl label nodes node01 mylabel=k8s
node/node01 labeled
master $
master $ kubectl get no -L mylabel
NAME      STATUS    ROLES     AGE       VERSION   MYLABEL
master    Ready     master    52m       v1.11.3
node01    Ready     <none>    52m       v1.11.3   k8s

список узлов с меткой mylabel = k8s

master $ kubectl get no -l mylabel=k8s
NAME      STATUS    ROLES     AGE       VERSION
node01    Ready     <none>    53m       v1.11.3
master $

перечислить узлы, которые не имеют метки mylabel = k8s

master $ kubectl get no -l mylabel!=k8s
NAME      STATUS    ROLES     AGE       VERSION
master    Ready     master    53m       v1.11.3
0 голосов
/ 17 июня 2019

согласно официальной документации Я не думаю, что есть способ сделать это, но вы можете сделать что-то подобное с отрицанием равенства:

kubectl get nodes --selector=kubernetes.io/hostname!=node_host_name

в основном вы можете выбрать все, что не имеет определенной метки, вы также можете цепочки селекторов

Больше чтения: https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...