Muitas operações administrativas são facilitadas pela busca de uma lista de nomes de coisas, por exemplo, em uma variável de shell. Veja abaixo um exemplo. Em vez de hackear um modelo, pedir apenas os nomes deve ser um sinalizador normal.
% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}') % para nó em $nós; Faz para> echo $nó para> feito # Verificação de sanidade antes de iniciar o trabalho. % eco $nós | wc -w 4 % para nó em $nós; Faz for> kubectl drenar --force $node para> Maintenance_script $node for> kubectl undrain $node para> dormir 900 para> feito
Você pode usar jsonpath para torná-lo um pouco mais curto, mas ainda não é ótimo
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
Experimente kubectl get no -o name
você quer -o name
Em segunda-feira, 2 de novembro de 2015 às 16h37, Matt Liggett [email protected]
escreveu:
Muitas operações administrativas são facilitadas pela busca de uma lista de nomes de
coisas, por exemplo, em uma variável de shell. Veja abaixo um exemplo. Ao invés de
hackear um modelo, pedindo apenas os nomes deve ser um sinalizador normal.% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}')
% para nó em $nós; Faz
para> echo $nó
para> feitoVerificação de sanidade antes de iniciar o trabalho.
% eco $nós | wc -w
4% para nó em $nós; Faz
for> kubectl drenar --force $node
para> Maintenance_script $node
for> kubectl undrain $node
para> dormir 900
para> feito—
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/kubernetes/kubernetes/issues/16700.
Comentários muito úteis
Experimente
kubectl get no -o name