Как отфильтровать String pod / из вывода Kubectl - PullRequest
0 голосов
/ 17 июня 2020

Итак, я пытаюсь написать для l oop, чтобы собрать всю описанную информацию из следующей команды для всех модулей во всех пространствах имен.

kubectl describe pod <pod_name>

Я использую следующую команду для генерации вывода в системе:

kubectl get pods --all-namespaces -o Name 

Это обеспечивает вывод, аналогичный следующему:

pod/compose-78f95d4f8c-zppf2
pod/compose-api-6ffb89dc58-5rk84
pod/coredns-5644d7b6d9-4qh7k
pod/coredns-5644d7b6d9-s946h
pod/etcd-docker-desktop
pod/kube-apiserver-docker-desktop
pod/kube-controller-manager-docker-desktop
pod/kube-proxy-trdx5
pod/kube-scheduler-docker-desktop
pod/metrics-server-d58c94f4d-bvdbv
pod/storage-provisioner
pod/vpnkit-controller
pod/dashboard-metrics-scraper-c79c65bb7-s26tz
pod/kubernetes-dashboard-56484d4c5-xg7v6

My ultimate целью было бы использовать следующее, чтобы собрать все описанные модули для текстового файла позже:

for i in $(kubectl get pods --all-namespaces -o Name); do kubectl describe pods $i; done >> cluster_description.txt

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

ВОПРОС: Как я могу удалить часть pod/ из следующей команды, чтобы получить желаемый результат?

(kubectl get pods --all-namespaces -o Name

Ответы [ 2 ]

4 голосов
/ 17 июня 2020

Есть разделение на '/' и получение второго столбца cut -d'/' -f2.

$(kubectl get pods --all-namespaces -o Name | cut -d'/' -f2)
1 голос
/ 17 июня 2020
kubectl describe pod -A > cluster_description.txt

-A --all-namespaces

...