Многие операции администратора упрощаются путем получения списка имен вещей, например, в переменную оболочки. См. пример ниже. Вместо того, чтобы взламывать шаблон, запрос только имен должен быть нормальным флагом.
% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}') % для узла в $nodes; делать for> эхо $ узел для > сделано # Проверка работоспособности перед началом работы. % эхо $nodes | туалет -ш 4 % для узла в $nodes; делать for> kubectl сток --force $node for> Maintenance_script $node for> kubectl удалить $node для > сна 900 для > сделано
Вы можете использовать jsonpath, чтобы сделать его немного короче, но все равно не очень хорошо.
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
Попробуйте kubectl get no -o name
ты хочешь -o name
В понедельник, 2 ноября 2015 г., в 16:37, Мэтт Лиггетт, [email protected]
написал:
Многие операции администратора упрощаются за счет получения списка имен
вещи, например, в переменную оболочки. См. пример ниже. Скорее, чем
взламывание шаблона с запросом только имен должно быть нормальным флагом.% nodes=$(kubectl get nodes -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}')
% для узла в $nodes; делать
for> эхо $ узел
для > сделаноСанитарная проверка перед началом работы.
% эхо $nodes | туалет -ш
4% для узла в $nodes; делать
for> kubectl сток --force $node
for> Maintenance_script $node
for> kubectl удалить $node
для > сна 900
для > сделано—
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/kubernetes/kubernetes/issues/16700.
Самый полезный комментарий
Попробуйте
kubectl get no -o name