多くの管理操作は、シェル変数などに名前のリストをフェッチすることで簡単になります。 例については、以下を参照してください。 テンプレートをハックするのではなく、名前だけを要求するのは通常のフラグです。
%nodes = $(kubectl getノード-lfoo = bar -otemplate --template = '{{range .items}} {{。metadata.name}} {{end}}') $ nodesのノードの%; 行う for> echo $ node >完了 #作業を開始する前の健全性チェック。 %echo $ nodes | wc -w 4 $ nodesのノードの%; 行う > kubectldrain --force $ nodeの場合 > Maintenance_script $ nodeの場合 > kubectl undrain $ nodeの場合 >睡眠900 >完了
jsonpathを使用して少し短くすることはできますが、それでもあまり良くありません
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
kubectl get no -o name
お試しください
-o name
が欲しい
2015年11月2日月曜日午後4時37分、Matt [email protected]
書きました:
の名前のリストを取得することで、多くの管理操作が簡単になります。
物事、例えばシェル変数に。 例については、以下を参照してください。 それよりも
テンプレートをハックして、名前だけを要求するのは通常のフラグです。%nodes = $(kubectl getノード-lfoo = bar -otemplate --template = '{{range .items}} {{。metadata.name}} {{end}}')
$ nodesのノードの%; 行う
for> echo $ node
>完了作業を開始する前の健全性チェック。
%echo $ nodes | wc -w
4$ nodesのノードの%; 行う
> kubectldrain --force $ nodeの場合
> Maintenance_script $ nodeの場合
> kubectl undrain $ nodeの場合
>睡眠900
>完了—
このメールに直接返信するか、GitHubで表示してください
https://github.com/kubernetes/kubernetes/issues/16700。
最も参考になるコメント
kubectl get no -o name
お試しください