Search

[CKA] 33. OS Upgrades

Date
2025/01/03
Category
Devops
Tag
Kubernetes
CKA
Cluster
๋ชฉ์ฐจ

ย Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ ๊ด€๋ฆฌ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜ ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ์ ์šฉํ•˜๋Š” ๋“ฑ์˜ ์œ ์ง€ ๊ด€๋ฆฌํ•  ๋•Œ ๋…ธ๋“œ๋ฅผ ์ค‘๋‹จ(Down)๋œ๋‹ค. ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ์˜ ์˜ต์…˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

ย ํด๋Ÿฌ์Šคํ„ฐ์™€ ๋…ธ๋“œ์˜ ์ดํ•ด

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ๋…ธ๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋Š” Pod๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋งŒ์ผ ํ•œ ๋…ธ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด, ํ•ด๋‹น ๋…ธ๋“œ์˜ Pod๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ Pod๋ฅผ ๋ฐฐํฌํ•œ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž์˜ ๊ฒฝํ—˜์ด ๋‹ฌ๋ผ์ง„๋‹ค.
์œ„ ๊ทธ๋ฆผ์˜ ์™ผ์ชฝ ๋…ธ๋“œ๊ฐ€ ์ค‘๋‹จ๋œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, Blue Pod๋Š” ๋ณต์ œ๋ณธ์„ ๊ฐ€์ง€๊ณ , Green Pod๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋˜๋ฉด Blue ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ๋‹ค๋ฅธ ์˜จ๋ผ์ธ Pod๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋˜๋ฏ€๋กœ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ Green Pod๋Š” ์™ผ์ชฝ ๋…ธ๋“œ์—์„œ ์œ ์ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— Green ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.

ย Kubernetes ์ฒ˜๋ฆฌ ์ ˆ์ฐจ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋‹ค์šด๋˜์—ˆ๋˜ ๋…ธ๋“œ๊ฐ€ ๋ฐ”๋กœ ์˜จ๋ผ์ธ์œผ๋กœ ๋Œ์•„์˜จ๋‹ค๋ฉด Kubelet process๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ , Pod๋“ค์€ ์˜จ๋ผ์ธ ์ƒํƒœ๋กœ ๋ณต๊ท€ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋˜๊ณ  5๋ถ„ ์ด์ƒ ์‹œ๊ฐ„์ด ์ง€๋‚œ๋‹ค๋ฉด ํ•ด๋‹น Pod๋“ค์„ ์ฃฝ์€ ์ƒํƒœ(dead)๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ์ข…๋ฃŒ(terminated)ํ•œ๋‹ค. ์ด๋•Œ Pod๊ฐ€ ReplicaSet์˜ ์ผ๋ถ€๋ผ๋ฉด ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ๋‹ค. Pod๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ pod-eviction-timeout์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ปจํŠธ๋กค๋Ÿฌ ๋งค๋‹ˆ์ €์—์„œ ์„ค์ •๋˜๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ 5๋ถ„์ด๋‹ค.
๋”ฐ๋ผ์„œ ๋…ธ๋“œ๊ฐ€ ์˜คํ”„๋ผ์ธ ์ƒํƒœ์ผ ๋•Œ, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋Š” ์ตœ๋Œ€ 5๋ถ„ ๋™์•ˆ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ๋…ธ๋“œ๋ฅผ ์ฃฝ์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ๋…ธ๋“œ๊ฐ€ pod-eviction-timeout ์ดํ›„์— ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•, ํ•ด๋‹น ๋…ธ๋“œ๋Š” ๋นˆ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ์–ด๋– ํ•œ Pod๋„ ์Šค์ผ€์ค„๋˜์ง€ ์•Š๋Š”๋‹ค. Blue Pod๋Š” ReplicaSet์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ์ƒˆ๋กœ์šด Pod๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์ง€๋งŒ, Green Pod๋Š” ReplicaSet์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฐ๋‹ค.

์œ ์ง€ ๋ณด์ˆ˜ ์ž‘์—… ์ˆ˜ํ–‰

๋…ธ๋“œ์—์„œ ์œ ์ง€ ๊ด€๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›Œํฌ๋กœ๋“œ๊ฐ€ Replica๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์ด ๊ดœ์ฐฎ๋‹ค๋ฉด ๋…ธ๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์žฌ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋…ธ๋“œ๊ฐ€ 5๋ถ„ ์ด๋‚ด์— ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๋กœ ๋ณต๊ท€ํ•œ๋‹ค๊ณ  ํ™•์‹ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

Drain, Cordon, Uncordon

kubectl drain node-1 ๋ช…๋ น์„ ํ†ตํ•ด ๋…ธ๋“œ์—์„œ ๋ชจ๋“  ์›Œํฌ๋กœ๋“œ๋ฅผ ๋น„์šด๋‹ค. Drain์„ ์‚ฌ์šฉํ•˜๋ฉด ์›Œํฌ๋กœ๋“œ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ, ๊ธฐ์ˆ ์ ์œผ๋กœ ์ด๋™๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋…ธ๋“œ๋ฅผ ๋“œ๋ ˆ์ธํ•  ๋•Œ, Pod๋Š” ํ˜„์žฌ ์žˆ๋Š” ๋…ธ๋“œ์—์„œ *์šฐ์•„ํ•˜๊ฒŒ ์ข…๋ฃŒ๋˜๊ณ (gracefully terminated) ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ๋‹ค์‹œ ์ƒ์„ฑ๋œ๋‹ค. ์ด๋•Œ ๋…ธ๋“œ๋Š” cordon ์ฒ˜๋ฆฌ๋˜์–ด ์Šค์ผ€์ค„ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ์ฆ‰, ์ด ๋…ธ๋“œ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „๊นŒ์ง€ ์–ด๋–ค ํŒŒ๋“œ๋„ ์Šค์ผ€์ค„๋˜์ง€ ์•Š๋Š”๋‹ค.
Drain์„ ํ†ตํ•ด Pod๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์•ˆ์ „ํ•˜๊ฒŒ ์ด๋™๋˜๋ฉด, ๋…ธ๋“œ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…ธ๋“œ๊ฐ€ ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์—ฌ์ „ํžˆ ์Šค์ผ€์ค„ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— Pod๊ฐ€ ๋‹ค์‹œ ํ•ด๋‹น ๋…ธ๋“œ์— ์Šค์ผ€์ค„๋  ์ˆ˜ ์žˆ๋„๋ก uncordonํ•ด์•ผํ•œ๋‹ค. kubectl uncordon node-1
drain, uncordon ๊ณผ ๊ฐ™์ด cordon๋„ ๋ช…๋ น์–ด๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. cordon์€ ๊ธฐ์กด ๋…ธ๋“œ์˜ ํŒŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ์ด๋™์‹œํ‚ค์ง€ ์•Š์œผ๋ฉฐ ๋‹จ์ˆœํžˆ ์Šค์ผ€์ค„๋ง๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•˜๋Š” ๋ช…๋ น์ด๋‹ค. kubectl cordon node-2
Gracefully Terminated(์šฐ์•„ํ•œ ์ข…๋ฃŒ)๋ž€?
์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋  ๋•Œ, ์šด์˜ ์ค‘์ธ ์ž‘์—…์ด๋‚˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ํ•„์š”ํ•œ ์ •๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ์ข…๋ฃŒ๋˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์ƒํƒœ ๋ถˆ์ผ์น˜๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.