[K8s] ๐Ÿณ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๋ž€? ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์˜ ๋ํŒ์™•

๋น„์ „ยท2025๋…„ 4์›” 20์ผ

K8s

๋ชฉ๋ก ๋ณด๊ธฐ
1/3
post-thumbnail

๐Ÿ” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ž€?

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes, ์ค„์—ฌ์„œ K8s) ๋Š” ์ปจํ…Œ์ด๋„ˆํ™” ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ๋ฐฐํฌ(Deployment), ์Šค์ผ€์ผ๋ง(Scaling), ์šด์˜(Operation) ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํˆด์ž…๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด, ์ˆ˜๋งŽ์€ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” "์ง€ํœ˜์ž" ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์™œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

์ปจํ…Œ์ด๋„ˆ ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค!

๋„์ปค(Docker)๋กœ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ๋›ฐ์šฐ๋Š” ๊ฑด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ˆ˜์‹ญ ๊ฐœ, ์ˆ˜๋ฐฑ ๊ฐœ๊ฐ€ ๋˜๋ฉด

  • ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ๋Š” ์–ด๋–ค๊ฐ€?
  • ์–ธ์ œ ๋‹ค์šด๋˜์—ˆ๋Š”๊ฐ€?
  • ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์‹คํ–‰ ํ•ด์•ผํ•˜๋Š”๋ฐ?
  • ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ์ˆ˜๊ฐ€ ํ™•์žฅ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ?
    ์ด๋Ÿฌํ•œ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ์ • ๋Œ์•„๋ณด๊ธฐ

1. ์ „ํ†ต์ ์ธ ๋ฐฐํฌ ์‹œ๋Œ€ - ๋ฌผ๋ฆฌ ์„œ๋ฒ„์˜ ํ•œ๊ณ„

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

2. ๊ฐ€์ƒํ™” ์‹œ๋Œ€ - VM์„ ํ†ตํ•œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ ์ตœ์ ํ™”

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฐ€์ƒํ™”๋Š” ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ€์ƒ ๋จธ์‹ (VM) ์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๊ฐ VM์€ ๋…๋ฆฝ์ ์ธ ์šด์˜์ฒด์ œ์™€ ํ™˜๊ฒฝ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

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

3. ์ปจํ…Œ์ด๋„ˆ ์‹œ๋Œ€ - ๋” ๊ฐ€๋ณ๊ณ , ๋” ๋น ๋ฅด๊ฒŒ

๊ฐ€์ƒํ™”๋ณด๋‹ค ๋” ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ, ์ธํ”„๋ผ๋Š” ๋˜ ํ•œ ๋ฒˆ ์ง„ํ™”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ๋Š” VM๊ณผ ๋‹ฌ๋ฆฌ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„ ๊ฒฉ๋ฆฌ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด VM๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋ฉฐ, ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

  • โœ… ๋ฏผ์ฒฉํ•œ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌ
    โ†’ VM์— ๋น„ํ•ด ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋Š” ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œ๋˜๊ณ  ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.
  • โœ… ์ง€์†์ ์ธ ํ†ตํ•ฉ๊ณผ ๋ฐฐํฌ(CI/CD)์— ์ตœ์ ํ™”
    โ†’ ์ด๋ฏธ์ง€์˜ ๋ถˆ๋ณ€์„ฑ๊ณผ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋•๋ถ„์—, ๋น ๋ฅธ ๋กค๋ฐฑ๊ณผ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • โœ… ๊ฐœ๋ฐœ๊ณผ ์šด์˜ ๋ถ„๋ฆฌ
    โ†’ ๋นŒ๋“œ ์‹œ์ ์— ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ณ , ์–ด๋””์„œ๋“  ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ธํ”„๋ผ์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ๋‚ฎ์Šต๋‹ˆ๋‹ค.
  • โœ… ํ™˜๊ฒฝ ๊ฐ„ ์ผ๊ด€์„ฑ ๋ณด์žฅ
    โ†’ ๋กœ์ปฌ ๋žฉํƒ‘, ํ…Œ์ŠคํŠธ ์„œ๋ฒ„, ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ๋“ฑ ์–ด๋””์„œ๋‚˜ ๋™์ผํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • โœ… ๋†’์€ ์ด์‹์„ฑ
    โ†’ Ubuntu, RHEL ๋“ฑ ๋‹ค์–‘ํ•œ OS๋‚˜ AWS, Azure ๊ฐ™์€ ํด๋ผ์šฐ๋“œ์—์„œ๋„ ๋ฌด๋ฆฌ ์—†์ด ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค.
  • โœ… ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์กฐ์— ์ตœ์ ํ™”
    โ†’ ํ•˜๋‚˜์˜ ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์€ ์„œ๋น„์Šค ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๊ฐœ๋ฐœยท๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • โœ… ๋ฆฌ์†Œ์Šค ๊ฒฉ๋ฆฌ ๋ฐ ํšจ์œจ์„ฑ ๊ทน๋Œ€ํ™”
    โ†’ ๊ฐ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํ•ต์‹ฌ ๊ฐœ๋…

๊ฐœ๋…์„ค๋ช…
Pod์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ตœ์†Œ ๋‹จ์œ„ (๋ณดํ†ต ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํฌํ•จ)
Node์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ(Pod)๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฌผ๋ฆฌ/๊ฐ€์ƒ ์„œ๋ฒ„
Cluster์—ฌ๋Ÿฌ Node๊ฐ€ ๋ชจ์—ฌ ์žˆ๋Š” ์ง‘ํ•ฉ
Deployment์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌํ• ์ง€ ์ •์˜ (๋กค๋ง ์—…๋ฐ์ดํŠธ ๋“ฑ ํฌํ•จ)
ServicePod๋“ค์˜ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์„ ์œ„ํ•œ ๊ณ ์ • IP ๋ฐ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์—ญํ• 
Ingress์™ธ๋ถ€์—์„œ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ง„์ž… ์ง€์  (URL ๋ผ์šฐํŒ… ๋“ฑ ์„ค์ • ๊ฐ€๋Šฅ)

๐Ÿ› ๏ธ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค

  • ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ๋ฐฐํฌ ๋ฐ ๋กค๋ฐฑ
  • ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ๋ณต๊ตฌ
  • ์˜คํ† ์Šค์ผ€์ผ๋ง
  • ๋กค๋ง ์—…๋ฐ์ดํŠธ
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ
  • ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ
  • CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์—ฐ๋™(Jenkins ๋“ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ)

โ˜๏ธ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์–ด๋””์„œ ์“ฐ์ด๋‚˜?

  • AWS: Amazon EKS
  • Azure: Azure Kubernetes Service (AKS)
  • Google Cloud: GKE
  • NHN Cloud, KT Cloud ๋“ฑ ๊ตญ๋‚ด ํด๋ผ์šฐ๋“œ์—์„œ๋„ ์ง€์›
profile
์•„๋Š” ๋งŒํผ ๋ณด์ธ๋‹ค

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