๐Ÿšฝ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์—…๋ฐ์ดํŠธ[cordon, uncordong]

๊น€์„ฑ์ธยท2023๋…„ 10์›” 21์ผ
0

[DevOps] ๐ŸณDocker & Kubernetes

๋ชฉ๋ก ๋ณด๊ธฐ
51/62

๋…ธ๋“œ ์—…๋ฐ์ดํŠธ

https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/
๋…ธ๋“œ ์œ ์ง€๋ณด์ˆ˜

  • ๋…ธ๋“œ ์ˆ˜์ •์„ ์ง„ํ–‰ํ•˜๋ ค๋ฉด ์žฌ๋ถ€ํŒ…์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋•Œ ๋…ธ๋“œ ๋‚ด์— ๋“ค์–ด์žˆ๋Š” ํฌ๋“œ ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๋“ฑ์˜ ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅด ์ œ๊ณตํ•˜๋„๋ก ํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.
  • drain node : ๋…ธ๋“œ์— ์žˆ๋Š” pod๋“ค์„ ๋‚ด๋ฆผ (์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ํŒŒ๋“œ๋“ค์„ ์ „๋‹ฌํ•˜์—ฌ ์‹คํ–‰ํ•จ)
    • (๋ช…๋ น์–ด cordon : ๋ฐ”๋ฆฌ๊ฒŒ์ดํŠธ ์—ญํ•  -> ์•ˆ์—์žˆ๋Š” ํŒŒ๋“œ๊ฐ€ ๋‚˜๊ฐˆ์ˆ˜๋„ ์—†๊ณ  ๋ฐ–์—์ž‡๋Š” ํŒŒ๋“œ๊ฐ€ ๋“ค์–ด์˜ฌ ์ˆ˜๋„ ์—†์Œ)
  • update node : ๋…ธ๋“œ ์—…๋ฐ์ดํŠธ
  • uncordon node : cordon ์ƒํƒœ ํ•ด์ œ

๋…ธ๋“œ drain

kubectl get node : ๋…ธ๋“œ ์กฐํšŒ
kubectl drain <๋…ธ๋“œ๋ช…>

  • kubectl drain <๋…ธ๋“œ๋ช…> --delete-local-data : ๋ฐ๋ชฌ์…‹, ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์™€ ๊ฐ™์€ ๋…ธ๋“œ๋‚ด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์‹œํ•˜๋Š” ์˜ต์…˜ (์™„์ „ ์‚ญ์ œ)

    STATUS : SchedulingDisabled ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋จ

๋…ธ๋“œ uncordon

kubectl uncordon <๋…ธ๋“œ๋ช…>

cordong ๋…ธ๋“œ๊ฐ€ ๋ณต๊ตฌ ๋˜์—ˆ์„๋•Œ drain๋œ ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ์‹คํ–‰์„ ํ•˜์ง€ ๋ชปํ•˜๊ณ  pending๋œ ํŒŒ๋“œ๋“ค์€ ๋‹ค์‹œ ์›๋ž˜ ๋…ธ๋“œ๋กœ ๋Œ์•„์™€์„œ ์‹คํ–‰๋œ๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ

๋ฒ„์ „์— ๋”ฐ๋ผ API ๋™์ž‘๋„ ๋‹ฌ๋ผ์ง, ๊ธฐ์กด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์œ ์ง€๋ณด์ˆ˜์— ์žฅ์• ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜๋„ ์žˆ์Œ

ํŒจํ‚ค์ง€๋งˆ๋‹ค ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” ๋™์ผํ•œ ๋ฒ„์ „์œผ๋กœ ๋ฐฐํฌ๋จ

https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
๋…ธ๋“œ์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋ ค๋ฉด drain์„ ํ†ตํ•ด์„œ ํŒŒ๋“œ๋“ค์„ ๋‚ด๋ฆฌ๊ณ  ๋ฒ„์ „์— ๋งž๊ฒŒ ์—…๋ฐ์ดํŠธ
systemctl restart kubelet

0๊ฐœ์˜ ๋Œ“๊ธ€