๋ง์ ๊ด๋ฆฌ ์์ ์ ์๋ฅผ ๋ค์ด ์ ธ ๋ณ์๋ก ์ฌ๋ฌผ์ ์ด๋ฆ ๋ชฉ๋ก์ ๊ฐ์ ธ์ด์ผ๋ก์จ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ง๋๋ค. ์๋ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ํ ํ๋ฆฟ์ ํดํนํ๋ ๋์ ์ด๋ฆ๋ง ๋ฌป๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ํ๋๊ทธ์ฌ์ผ ํฉ๋๋ค.
% node=$(kubectl get node -lfoo=bar -otemplate --template='{{๋ฒ์ .items}}{{.metadata.name}} {{end}}') $nodes์ ๋ ธ๋์ ๋ํ %; ํ๋ค for> ์์ฝ $ ๋ ธ๋ ~์ ์ํด # ์์ ์์ ์ ์จ์ ํ ์ฒดํฌ. % ์์ฝ $๋ ธ๋ | ํ์ฅ์ค -w 4 $nodes์ ๋ ธ๋์ ๋ํ %; ํ๋ค for> kubectl ๋ฐฐ์ --force $ ๋ ธ๋ for> maintenance_script $node for> kubectl undrain $node for> ์๋ฉด 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 Liggett [email protected]
์ผ๋ค:
๋ง์ ๊ด๋ฆฌ ์์ ์ ์ด๋ฆ ๋ชฉ๋ก์ ๊ฐ์ ธ์ด์ผ๋ก์จ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ง๋๋ค.
์๋ฅผ ๋ค์ด, ์ ๋ณ์๋ก. ์๋ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ๋ณด๋ค๋
ํ ํ๋ฆฟ์ ํดํนํ๊ณ ์ด๋ฆ๋ง ๋ฌป๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ํ๋๊ทธ์ฌ์ผ ํฉ๋๋ค.% node=$(kubectl get node -lfoo=bar -otemplate --template='{{๋ฒ์ .items}}{{.metadata.name}} {{end}}')
$nodes์ ๋ ธ๋์ ๋ํ %; ํ๋ค
for> ์์ฝ $ ๋ ธ๋
~์ ์ํด์์ ์ ์์ํ๊ธฐ ์ ์ ์จ์ ํจ์ ํ์ธํฉ๋๋ค.
% ์์ฝ $๋ ธ๋ | ํ์ฅ์ค -w
4$nodes์ ๋ ธ๋์ ๋ํ %; ํ๋ค
for> kubectl ๋ฐฐ์ --force $ ๋ ธ๋
for> maintenance_script $node
for> kubectl undrain $node
for> ์๋ฉด 900
~์ ์ํดโ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/16700.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
kubectl get no -o name
์๋