De nombreuses opérations d'administration sont facilitées par la récupération d'une liste de noms de choses, par exemple dans une variable shell. Voir ci-dessous pour un exemple. Plutôt que de pirater un modèle, demander uniquement les noms devrait être un indicateur normal.
% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}') % pour le nœud dans $nodes ; faire pour> echo $noeud pour> fait # Contrôle d'intégrité avant de commencer le travail. % echo $noeuds | wc -w 4 % pour le nœud dans $nodes ; faire for> kubectl drain --force $node pour> maintenance_script $noeud for> kubectl undrain $node pour> dormir 900 pour> fait
Vous pouvez utiliser jsonpath pour le rendre un peu plus court mais toujours pas génial
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
Essayez kubectl get no -o name
vous voulez -o name
Le lundi 2 novembre 2015 à 16h37, Matt Liggett [email protected]
a écrit:
De nombreuses opérations d'administration sont facilitées par la récupération d'une liste des noms de
choses, par exemple dans une variable shell. Voir ci-dessous pour un exemple. Plutôt que
pirater un modèle, demander uniquement les noms devrait être un indicateur normal.% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}')
% pour le nœud dans $nodes ; faire
pour> echo $noeud
pour> faitContrôle d'intégrité avant de commencer les travaux.
% echo $noeuds | wc -w
4% pour le nœud dans $nodes ; faire
for> kubectl drain --force $node
pour> maintenance_script $noeud
for> kubectl undrain $node
pour> dormir 900
pour> fait—
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/kubernetes/kubernetes/issues/16700.
Commentaire le plus utile
Essayez
kubectl get no -o name