Banyak operasi admin menjadi lebih mudah dengan mengambil daftar nama hal, misalnya ke dalam variabel shell. Lihat di bawah untuk contoh. Daripada meretas template, menanyakan nama saja seharusnya menjadi tanda normal.
% node=$(kubectl get node -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}') % untuk simpul di $nodes; melakukan untuk> echo $simpul untuk> selesai # Pemeriksaan kesehatan sebelum mulai bekerja. % echo $simpul | wc -w 4 % untuk simpul di $nodes; melakukan for> kubectl drain --force $node untuk> maintenance_script $node untuk> kubectl undrain $node untuk> tidur 900 untuk> selesai
Anda bisa menggunakan jsonpath untuk membuatnya sedikit lebih pendek tetapi tetap tidak bagus
k get no -o jsonpath="{.items[*].metadata.name}" | xargs -d ' ' -I {} kubectl drain {}
Coba kubectl get no -o name
Anda ingin -o name
Pada Senin, 2 November 2015 pukul 16:37, Matt Liggett [email protected]
menulis:
Banyak operasi admin menjadi lebih mudah dengan mengambil daftar nama-nama
hal-hal, misalnya menjadi variabel shell. Lihat di bawah untuk contoh. Daripada
meretas templat, menanyakan nama saja harus menjadi tanda normal.% node=$(kubectl get node -lfoo=bar -otemplate --template='{{range .items}}{{.metadata.name}} {{end}}')
% untuk simpul di $nodes; melakukan
untuk> echo $simpul
untuk> selesaiPemeriksaan kesehatan sebelum mulai bekerja.
% echo $simpul | wc -w
4% untuk simpul di $nodes; melakukan
for> kubectl drain --force $node
untuk> maintenance_script $node
untuk> kubectl undrain $node
untuk> tidur 900
untuk> selesai—
Balas email ini secara langsung atau lihat di GitHub
https://github.com/kubernetes/kubernetes/issues/16700.
Komentar yang paling membantu
Coba
kubectl get no -o name