Kubelet Garbage Collection

Kubernetes
๐Ÿ’ก
kubelet ์—์„œ๋Š” ํŠน์ • ์ž„๊ณ„์น˜์— ๋„๋‹ฌํ•˜๋ฉด garbage image๋“ค์„ ์ง€์šฐ๋Š” ์ •์ฑ…์ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ garbage collection ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ default๋Š” disk usage๊ฐ€ 85% ์ด์ƒ์ด ๋˜๋ฉด ์ž‘๋™ํ•œ๋‹ค. disk usage๊ฐ€ 85% ์ด์ƒ์ด ๋˜๋ฉด ์ผ๋‹จ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” image๋ถ€ํ„ฐ ์ œ๊ฑฐํ•˜์—ฌ disk๋ฅผ ํ™•๋ณดํ•˜๊ณ  ๊ทธ๋Ÿผ์—๋„ ํ™•๋ณด๋˜์ง€์•Š์œผ๋ฉด evcition์„ ์‹œ์ž‘ํ•œ๋‹ค. ์ด๋•Œ eviction์€ soft ๋ฐฉ์‹๊ณผ hard ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š”๋ฐ soft ๋ฐฉ์‹์€ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ณ„๋„์˜ ์œ ์˜ˆ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด์ค„ ๊ฒฝ์šฐ kubelet์ด ํ•ด๋‹น ์œ ์˜ˆ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋  ๋•Œ ๊นŒ์ง€ ํŒŒ๋“œ๋ฅผ ์ถ”๋ฐฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹ hard ๋ฐฉ์‹์€ ๋ณ„๋„์˜ ์œ ์˜ˆ ์‹œ๊ฐ„ ์—†์ด ์ฆ‰์‹œ ํŒŒ๋“œ๋ฅผ ์ถ”๋ฐฉ ์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค. nodefs ๋…ธ๋“œ์˜ ์ฃผ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ (/) ํ•ด๋‹น. ์‹œ์Šคํ…œ ๋กœ๊ทธ, kubelet ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ ๋จ. imagefs ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์™€ ๊ณ„์ธต์  ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ฐ€๋ฅดํ‚จ๋‹ค. imagefs ๊ณต๊ฐ„ ๋ถ€์กฑ์€ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ Pull ํ•˜๊ฑฐ๋‚˜ ์ƒ์„ฑํ•˜๋Š”๋ฐ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐ ํ•  ์ˆ˜ ์žˆ์Œ.

 

โœ…
์ˆ˜์ •๋ฐฉ์•ˆ 1. ๊ฐ ๋…ธ๋“œ์˜ /etc/kubernetes/kubelet-config.yaml ๋˜๋Š” kubelet.env ์ˆ˜์ • ํ›„ restart 2. configmap์œผ๋กœ ์„ค์ • ํ•˜๋Š” ๋ฐฉ๋ฒ• # 1.24 ๋ถ€ํ„ฐ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Œ
# kubelet.env
KUBELET_ARGS="
(other flag)

--eviction-soft=nodefs.available< 10%,imagefs.available<10% \
--eviction-soft-grace-period=nodefs.available=2m, imagefs.available=2m \
--eviction-hard=nodefs.available< 5%,imagefs.available<5%"
# --eviction-minimum-reclaim -> ์ตœ์†Œ recalim ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๋Š” ์„ค์ •
# --eviction-pressure-transition-period=5m" -> ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ๋ฐ˜๋ณต์ ์œผ๋กœ eviction ์ˆ˜ํ–‰ ๋ฐฉ์ง€

# kubelet-config.yaml
evictionSoft:
  nodefs.available: "10%"
  imagefs.available: "10%"
evctionSfotGracePeriod:
  nodefs.available: "2m"
  imagefs.available: "2m"
evictionHard:
  nodefs.available: "5%"
  imagefs.available: "5%"
# evictionMinimumReclaim:
#  nodefs.available: "15%"
#  imagefs.available: "15%"
# evictionPressureTransitionPeriod: "5m"

 

 

 

 

 

 

โ† back