Получить стручки уникальных пространств имен - PullRequest
1 голос
/ 04 марта 2020

Я запускаю следующую команду из терминала, чтобы получить статус определенного модуля c среди всех моих пространств имен. Проблема, которую я пытаюсь решить, состоит в том, чтобы вернуть только уникальные пространства имен, которые имеют статус «Выселенный»

kubectl get pods --all-namespaces -lapp=myapp | grep Evicted | sort | uniq -c

Это пример результатов, которые я получаю :

NAMESPACE       READY       STATUS
customer-1       0/1        Evicted
customer-3       0/1        Evicted
customer-2       0/1        Evicted
customer-3       0/1        Evicted
customer-1       0/1        Evicted

Вот результат, к которому я стремлюсь:

NAMESPACE       READY       STATUS
customer-1       0/1        Evicted
customer-2       0/1        Evicted
customer-3       0/1        Evicted

Как мне go добиться этого?

Ответы [ 2 ]

1 голос
/ 05 марта 2020
kubectl get pods --all-namespaces -lapp=myapp | grep Evicted | awk {'print $1'} | uniq -c

должен помочь вам. Uniq не имел эффекта из-за неуникальных имен стручков.

0 голосов
/ 05 марта 2020

Я хотел бы предложить вам другой подход с использованием аргументов команды kubectl:

$ kubectl get pods --all-namespaces --field-selector=status.phase=Evicted --sort-by=.metadata.namespace -o custom-columns=NAMESPACE:.metadata.namespace | uniq

Здесь мы используем некоторые аргументы для фильтрации, сортировки и определения вывода пользовательских столбцов.

Вывод будет похож на это:

NAMESPACE
customer-1
customer-2
customer-3
...