Как отфильтровать запущенные узлы - PullRequest
0 голосов
/ 12 марта 2020

Я хочу отфильтровать список запущенных узлов. Я попробовал приведенную ниже команду, но она показывает только запущенное состояние. Мне нужно отфильтровать имя ... Любая помощь?

[root@techsl] # kubectl получить узлы -o jsonpath = '{range .items []} {@. Metadata.name}: {range @ .status. enter code here условия []} {@ тип} = {@} статус;.. {конец} {конец} '| tr ';' "\ n" | grep "Ready = True"

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Что-то вроде этого проще:

kubectl get nodes | grep -v NotReady | awk '{print $1}' | tail -n2
server1
server3

kubectl get nodes

NAME                               STATUS     ROLES    AGE    VERSION
server1                            Ready      master   106d   v1.14.9
server2                            NotReady   <none>   106d   v1.14.9
server3                            Ready      <none>   106d   v1.14.9
0 голосов
/ 12 марта 2020
kubectl get nodes -o jsonpath="{range .items[*]}{@.metadata.name}: {range @.status.conditions[4]}{@.type}; {end}{end}";

Кубернетес-1-17-мастер: Готово; kubernetes-1-17-рабочий: готов;

Как вы делаете:

kubectl get nodes -o jsonpath="{range .items[*]}{@.metadata.name}:{range @.status.conditions[4]}{@.type}={@.status}; {end}{end}" | grep "Ready=True"

kubernetes-1-17-master: готов = True; kubernetes-1-17-работник: готов = истина;

...