Muchas operaciones de administración se facilitan al obtener una lista de los nombres de las cosas, por ejemplo, en una variable de shell. Vea a continuación un ejemplo. En lugar de piratear una plantilla, pedir solo los nombres debería ser una bandera normal.
% nodos=$(kubectl obtener nodos -lfoo=barra -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}') % para nodo en $nodos; hacer for> echo $nodo para > hecho # Verificación de sanidad antes de comenzar a trabajar. % echo $nodos | wc-w 4 % para nodo en $nodos; hacer for> kubectl drenaje --force $nodo para> script_mantenimiento $nodo for> kubectl undrain $nodo para> dormir 900 para > hecho
Podrías usar jsonpath para hacerlo un poco más corto pero aún así no genial
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
Prueba kubectl get no -o name
quieres -o name
El lunes 2 de noviembre de 2015 a las 4:37 p. m., Matt Liggett [email protected]
escribió:
Muchas operaciones de administración se facilitan al obtener una lista de los nombres de
cosas, por ejemplo, en una variable de shell. Vea a continuación un ejemplo. En vez de
piratear una plantilla, pedir solo los nombres debería ser una bandera normal.% nodos=$(kubectl obtener nodos -lfoo=barra -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}')
% para nodo en $nodos; hacer
for> echo $nodo
para > hechoControl de sanidad antes de comenzar a trabajar.
% echo $nodos | wc-w
4% para nodo en $nodos; hacer
for> kubectl drenaje --force $nodo
para> script_mantenimiento $nodo
for> kubectl undrain $nodo
para> dormir 900
para > hecho—
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/kubernetes/kubernetes/issues/16700.
Comentario más útil
Prueba
kubectl get no -o name