๊ด€๋ฆฌํ˜• Kubernetes ๋น„์šฉ ๋น„๊ต(2020)

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ๋ฏธ๊ตญ DevOps ์—”์ง€๋‹ˆ์–ด Sid Palas, ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Cloud์˜ ์ตœ๊ทผ ๋ฐœํ‘œ ์ •๋ณด ๊ฐ€์ด๋“œ๋กœ์„œ ์ €๋Š” ์„ธ๊ณ„ ์ตœ๊ณ ์˜ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ ๊ด€๋ฆฌํ˜• Kubernetes ์„œ๋น„์Šค(๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ) ๋น„์šฉ์„ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์˜ ์ž‘์—…์˜ ๋˜ ๋‹ค๋ฅธ ์ด์ ์€ ํ•ด๋‹น Jupyter Notebook์˜ ์ถœํŒ์œผ๋กœ, ์ด๋ฅผ ํ†ตํ•ด (Python์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ์ง€์‹์œผ๋กœ๋„) ์ˆ˜ํ–‰๋œ ๊ณ„์‚ฐ์„ ํ•„์š”์— ๋งž๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TL; DR: Azure์™€ Digital Ocean์€ ์ œ์–ด ํ”Œ๋ ˆ์ธ์— ์‚ฌ์šฉ๋˜๋Š” ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋น„์šฉ์„ ์ฒญ๊ตฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋งŽ์€ ์†Œ๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์†Œ์ˆ˜์˜ ๋Œ€๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ GKE๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ŠคํŒŸ/์„ ์ /๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋™์ผํ•œ ๋…ธ๋“œ๋ฅผ ์žฅ๊ธฐ๊ฐ„ ์‚ฌ์šฉํ•˜๋„๋ก "๊ตฌ๋…"ํ•˜๋ฉด ๋น„์šฉ์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค).

๊ด€๋ฆฌํ˜• Kubernetes ๋น„์šฉ ๋น„๊ต(2020)
ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ(์ž‘์—…์ž ์ˆ˜)

๊ฐœ์š”

์ตœ๊ทผ Google Cloud ๋ฐœํ‘œ ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„๋‹น 10์„ผํŠธ๋ฅผ ์ฒญ๊ตฌํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” GKE์˜ ๋ฐœํ‘œ๋กœ ์ธํ•ด ์ €๋Š” ์ฃผ์š” ๊ด€๋ฆฌํ˜• Kubernetes ์ œํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ๋ถ„์„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• Kubernetes ๋น„์šฉ ๋น„๊ต(2020)
์ด ๋ฐœํ‘œ๋Š” ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์„ ํฌ๊ฒŒ ํ™”๋‚˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค...

๊ธฐ์‚ฌ์˜ ์ฃผ์š” ์ธ๋ฌผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋น„์šฉ ๋ถ„์„

์ด๋Ÿฌํ•œ ๊ฐ ํ”Œ๋žซํผ์—์„œ Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋“œ๋Š” ์ด ๋น„์šฉ์€ ๋‹ค์Œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ ์ˆ˜์ˆ˜๋ฃŒ
  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ(์ˆ˜์‹ ์šฉ)
  • ์ž‘์—…์ž์˜ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค(vCPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ)
  • ์†ก์‹  ํŠธ๋ž˜ํ”ฝ;
  • ์˜๊ตฌ ์ €์žฅ;
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ์˜ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ.

๋˜ํ•œ ๊ณ ๊ฐ์ด ์„ ์ ํ˜•์„ ์›ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋Š” ์ƒ๋‹นํ•œ ํ• ์ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์  ๋˜๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ๋…ธ๋“œ ๋˜๋Š” 1~3๋…„ ๋™์•ˆ ๋™์ผํ•œ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด๋ฅผ ๋น„๊ตํ•˜๊ณ  ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋น„์šฉ์ด ์ข‹์€ ๊ธฐ์ค€์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์š”์†Œ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€๋™ ์‹œ๊ฐ„(์„œ๋น„์Šค ์ˆ˜์ค€ ๊ณ„์•ฝ)
  • ์ฃผ๋ณ€ ํด๋ผ์šฐ๋“œ ์ƒํƒœ๊ณ„
  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ K8 ๋ฒ„์ „;
  • ๋ฌธ์„œ/ํˆดํ‚ท์˜ ํ’ˆ์งˆ.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์š”์†Œ๋Š” ์ด ๊ธฐ์‚ฌ/์—ฐ๊ตฌ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค. ์•ˆ์— StackRox ๋ธ”๋กœ๊ทธ์˜ XNUMX์›” ๊ฒŒ์‹œ๋ฌผ EKS, AKS, GKE์˜ ๋น„๊ฐ€๊ฒฉ ์š”์†Œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค.

์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ

๊ฐ€์žฅ ์ˆ˜์ต์„ฑ์ด ๋†’์€ ์†”๋ฃจ์…˜์„ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐœ๋ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ, ํ”Œ๋กฏ + ipywidget์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ ๋ฐ ์„œ๋น„์Šค ์„ธํŠธ์— ๋Œ€ํ•œ ๊ณต๊ธ‰์ž ์ œ์•ˆ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Binder์—์„œ ๋ฉ”๋ชจ์žฅ์˜ ๋ผ์ด๋ธŒ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• Kubernetes ๋น„์šฉ ๋น„๊ต(2020)
mybinder.org์˜ Managed-kubernetes-price-exploration.ipynb

๊ณ„์‚ฐ์ด๋‚˜ ์›๋ž˜ ๊ฐ€๊ฒฉ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์„ธ์š”(์ด๋Š” GitHub์˜ ๋ฌธ์ œ ๋˜๋Š” ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์—ฌ๊ธฐ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์–ด์š”).

์กฐ์‚ฌ ๊ฒฐ๊ณผ

์•„์‰ฝ๊ฒŒ๋„ ๋งจ ์ฒ˜์Œ์˜ TL;DR ๋‹จ๋ฝ์— ํฌํ•จ๋œ ๊ฒƒ๋ณด๋‹ค ๋” ๊ตฌ์ฒด์ ์ธ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ œ๊ณตํ•˜๊ธฐ์—๋Š” ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • GKE ๋ฐ EKS์™€ ๋‹ฌ๋ฆฌ AKS ๋ฐ Digital Ocean์€ ์ œ์–ด ๋ ˆ์ด์–ด ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋น„์šฉ์„ ์ฒญ๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. AKS ๋ฐ DO๋Š” ์•„ํ‚คํ…์ฒ˜์— ์†Œ๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋งŽ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ(์˜ˆ: ํด๋Ÿฌ์Šคํ„ฐ๋‹น ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ) ๋” ์ˆ˜์ต์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐœ๋ฐœ์ž ๋˜๋Š” ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ).
  • GKE๋Š” ์•ฝ๊ฐ„ ์ €๋ ดํ•œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค ๋•๋ถ„์— ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ*๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์ˆ˜์ต์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค.
  • ์„ ์ ํ˜• ๋…ธ๋“œ ๋˜๋Š” ์žฅ๊ธฐ ๋…ธ๋“œ ์„ ํ˜ธ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น„์šฉ์„ 50% ์ด์ƒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ : Digital Ocean์€ ์ด๋Ÿฌํ•œ ํ• ์ธ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Google์˜ ์•„์›ƒ๋ฐ”์šด๋“œ ์ˆ˜์ˆ˜๋ฃŒ๋Š” ๋” ๋†’์ง€๋งŒ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค ๋น„์šฉ์ด ๊ณ„์‚ฐ์—์„œ ๊ฒฐ์ •์ ์ธ ์š”์†Œ์ž…๋‹ˆ๋‹ค(ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ƒ๋‹นํ•œ ์–‘์˜ ์•„์›ƒ๋ฐ”์šด๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š” ํ•œ).
  • ์›Œํฌ๋กœ๋“œ์˜ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ธฐ์ค€์œผ๋กœ ๋จธ์‹  ์œ ํ˜•์„ ์„ ํƒํ•˜๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๋น„์šฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • Digital Ocean์€ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์— ๋น„ํ•ด vCPU์— ๋Œ€ํ•ด ๋” ์ ์€ ๋น„์šฉ์„ ์ฒญ๊ตฌํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•ด ๋” ๋งŽ์€ ๋น„์šฉ์„ ์ฒญ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ถ€ ์œ ํ˜•์˜ ์ปดํ“จํŒ… ์›Œํฌ๋กœ๋“œ์—์„œ ๊ฒฐ์ •์ ์ธ ์š”์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

*์ฐธ๊ณ : ๋ถ„์„์—์„œ๋Š” ๋ฒ”์šฉ ์ปดํ“จํŒ… ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (๋ฒ”์šฉ). ์ด๋Š” n1 GCP Compute Engine ์ธ์Šคํ„ด์Šค, m5 AWS ec2 ์ธ์Šคํ„ด์Šค, D2v3 Azure ๊ฐ€์ƒ ๋จธ์‹  ๋ฐ ์ „์šฉ CPU๊ฐ€ ์žˆ๋Š” DO ๋“œ๋กญ๋ฆฟ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๊ฐ€์ƒ ๋จธ์‹ (๋ฒ„์ŠคํŠธ ๊ฐ€๋Šฅ, ๋ณด๊ธ‰ํ˜•) ์ค‘์—์„œ ์—ฐ๊ตฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์–ธ๋œป ๋ณด๊ธฐ์— ๊ฐ€์ƒ ๋จธ์‹ ์˜ ๋น„์šฉ์€ vCPU ์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ ์–‘์— ๋”ฐ๋ผ ์„ ํ˜•์ ์œผ๋กœ ๋‹ฌ๋ผ์ง€์ง€๋งŒ, ์ด ๊ฐ€์ •์ด ๋งค์šฐ ๋น„ํ‘œ์ค€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ/CPU ๋น„์œจ์— ์ ์šฉ๋˜๋Š”์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ์‚ฌ ์ตœ๊ณ ์˜ Kubernetes ๋น„์šฉ ๊ฐ€์ด๋“œ: AWS vs GCP vs Azure vs Digital Ocean2018๋…„์— ๊ฒŒ์‹œ๋œ ์—์„œ๋Š” vCPU ์ฝ”์–ด 100๊ฐœ์™€ ๋ฉ”๋ชจ๋ฆฌ 400GB๋ฅผ ๊ฐ–์ถ˜ ์ฐธ์กฐ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ต๋ฅผ ์œ„ํ•ด ๋‚ด ๊ณ„์‚ฐ์— ๋”ฐ๋ฅด๋ฉด ์ด๋Ÿฌํ•œ ๊ฐ ํ”Œ๋žซํผ(์˜จ๋””๋งจ๋“œ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ)์˜ ์œ ์‚ฌํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๋น„์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • AKS: 51465 USD/๋…„
  • EKS: 43138 USD/๋…„
  • GKE: 30870๋‹ฌ๋Ÿฌ/๋…„
  • ํ•ด์•ผ ํ•  ์ผ: 36131 USD/๋…„

๋…ธํŠธ๋ถ๊ณผ ํ•จ๊ป˜ ์ด ๊ธฐ์‚ฌ๊ฐ€ ์ฃผ์š” ๊ด€๋ฆฌํ˜• Kubernetes ์ œํ’ˆ์„ ํ‰๊ฐ€ํ•˜๊ณ  ํ• ์ธ ๋ฐ ๊ธฐํƒ€ ๊ธฐํšŒ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ฒˆ์—ญ๊ฐ€์˜ ์ถ”์‹ 

๋ธ”๋กœ๊ทธ์—์„œ๋„ ์ฝ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€