Je recherche l'option de lister tous les pods
Comment faire sans awk (ou couper). Maintenant j'utilise cette commande
kubectl get --no-headers=true pods -o name | awk -F "/" '{print $2}'
Vous pouvez utiliser l'option de création de modèles intégrée à kubectl pour formater la sortie afin d'afficher uniquement les noms de chaque module:
kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'
Vous pouvez utiliser l'option custom-columns en sortie pour obtenir le nom et l'option --no-headers
kubectl get --no-headers=true pods -l app=external-dns -o custom-columns=:metadata.name
Vous pouvez utiliser -o = nom pour afficher uniquement les noms des pods. Par exemple, pour répertorier les modules proxy, vous pouvez utiliser:
kubectl get pods -o=name --all-namespaces | grep kube-proxy
Le résultat est:
pod/kube-proxy-95rlj
pod/kube-proxy-bm77b
pod/kube-proxy-clc25
Personnellement, je préfère cette méthode car elle ne repose que sur kubectl, n’est pas très détaillée et nous n’obtenons pas le préfixe pod/dans la sortie:
kubectl get pods --no-headers -o custom-columns=":metadata.name"
alternative jsonpath
kubectl get po -o jsonpath="{range .items[*]}{@.metadata.name}{end}" -l app=nginx-ingress,component=controller
voir aussi: plus d'exemples d'options de sortie de kubectl
kubectl get po --all-namespaces | awk '{if ($ 4! = "Running") système ("kubectl -n" $ 1 "supprime les modules" $ 2 "--grace-period = 0" "--force")}'