kubernetes список всех запущенных имен модулей

Я ищу вариант для перечисления всех имен контейнеров

Как обойтись без awk (или вырезать). Теперь я использую эту команду

kubectl get --no-headers=true pods -o name | awk -F "/" '{print $2}'

Ответы

Ответ 1

Вы можете использовать опцию go templating, встроенную в kubectl, чтобы отформатировать вывод, чтобы просто показать имена для каждого модуля:

kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

Ответ 2

Вы можете использовать настраиваемые столбцы в опции вывода, чтобы получить имя и --no-headers

kubectl get --no-headers=true pods -l app=external-dns -o custom-columns=:metadata.name

Ответ 3

Лично я предпочитаю этот метод, потому что он опирается только на kubectl, не очень многословен, и мы не получаем pod/prefix в выводе:

kubectl get pods --no-headers -o custom-columns=":metadata.name"

Ответ 4

Получить имена контейнеров с помощью -o=name Подробнее см. в этом шпаргалке.

kubectl get pods -o=name

Пример вывода:

pod/kube-xyz-53kg5
pod/kube-xyz-jh7d2
pod/kube-xyz-subt9

Чтобы удалить трейлинг pod/, вы можете использовать стандартную команду bash sed

kubectl get pods -o=name | sed "s/^.\{4\}//"

Пример вывода:

kube-xyz-53kg5
kube-pqr-jh7d2
kube-abc-s2bt9

Чтобы получить podname с определенной строкой, используйте стандартную команду linux grep

kubectl get pods -o=name | grep kube-pqr | sed "s/^.\{4\}//"

Пример вывода:

kube-pqr-jh7d2

С этим именем вы можете делать такие вещи, как добавление псевдонима для получения оболочки к работающему контейнеру:

alias bashkubepqr='kubectl exec -it $(kubectl get pods -o=name | grep kube-pqr | sed "s/^.\{4\}//") bash'

Ответ 5

Вы можете использовать -o = name для отображения только имен модулей. Например, для отображения прокси-модулей вы можете использовать:

kubectl get pods -o=name --all-namespaces | grep kube-proxy

Результат:

pod/kube-proxy-95rlj
pod/kube-proxy-bm77b
pod/kube-proxy-clc25

Ответ 7

kubectl get po --all -n amespaces | awk '{if ($ 4! = "Running") system ("kubectl -n" $ 1 "удалить модули" $ 2 "--grace-period = 0" "--force")}'