๐Ÿ”จ[๊ฐœ๋ฐœ] Kubernetes๋ฅผ ์จ๋ณด์ž

manduยท2025๋…„ 9์›” 19์ผ

[๊ฐœ๋ฐœ]

๋ชฉ๋ก ๋ณด๊ธฐ
6/9

์ง€๊ธˆ ์‚ฌ๋‚ด์—์„œ ๊ฐœ๋ฐœ์ค‘์ธ ์„œ๋น„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ:

  1. ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•ด์„œ Request๋ฅผ ๋‚ ๋ฆฌ๋Š” App
  2. Request๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” Backend (FastAPI) โ†’ Redis Queue ๋˜๋Š” DB์— ์‚ฝ์ž…
  3. Queue์— ๋„ฃ์€ ์š”์ฒญ์„ Dispatcher๊ฐ€ Celery Worker๋กœ ์ „๋‹ฌ
  4. Celery Worker๊ฐ€ Task๋ฅผ ํ•˜๋‚˜์”ฉ ์‹คํ–‰

์ฆ‰, ๊ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹จ์ˆœ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Œ.
์ด ๊ตฌ์กฐ๋ฅผ Kubernetes๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋ฉด ๋” ํŽธํ•˜๊ฒŒ, ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊นŒ?
์žฅ์ ๊ณผ ์ ์šฉ ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ •๋ฆฌํ•ด๋ณด์ž.


1. Kubernetes

1.1 Kubernetes๋ž€?

์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋Œ€๊ทœ๋ชจ ์ž๋™ ๋ฐฐํฌ,
์Šค์ผ€์ผ๋ง ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜
์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Container Orchestration)ย ๋„๊ตฌ

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด,
โ€œ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฐ์ง‘์œผ๋กœ ๋ฌถ๊ณ , ๊ด€๋ฆฌํ•˜๋Š” ์ž๋™ํ™” ์‹œ์Šคํ…œโ€

K8s ์ด๋ฆ„ ์œ ๋ž˜

  • Kubernetes โ†’ ๊ทธ๋ฆฌ์Šค์–ด๋กœ โ€œ์กฐํƒ€์ˆ˜, ํŒŒ์ผ๋Ÿฟ, ์„ ์žฅโ€ ์˜๋ฏธ
  • ๊ฐœ๋ฐœ์ž๋“ค์ด ์งง๊ฒŒ ์ค„์—ฌ์„œ K8s๋กœ ์‚ฌ์šฉ
    • K + 8๊ธ€์ž ์ƒ๋žต + s โ†’ โ€œKโ€์™€ โ€œsโ€ ์‚ฌ์ด์— 8๊ธ€์ž ์กด์žฌ

1.2 ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ญ์ง€?

  • ๋จผ์ €, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์„ ์•Œ์•„์•ผ ํ•จ

1. ์ „ํ†ต์  ๋ฐฐํฌ (Traditional Deployment)

  • ํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ(์„œ๋ฒ„)์— ํ•˜๋‚˜์˜ OS)๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰
  • ์˜ˆ: PC์— Windows ์„ค์น˜ โ†’ ๊ฒŒ์ž„, ์›Œ๋“œํ”„๋กœ์„ธ์„œ, ์€ํ–‰ ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜
  • ๋ฌธ์ œ์ :
    1. ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ, ํ•„์ˆ˜ ํ”„๋กœ๊ทธ๋žจ ์ฆ๊ฐ€ โ†’ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ์ฆ๊ฐ€, ์†๋„ ์ €ํ•˜
    2. OS ๋‹จ์œ„๋กœ ๊ฒฉ๋ฆฌ๋˜์ง€ ์•Š์•„ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์ถฉ๋Œ ๊ฐ€๋Šฅ
    3. ํ™•์žฅ/๋ฐฐํฌ ์œ ์—ฐ์„ฑ ๋ถ€์กฑ

2. ๊ฐ€์ƒํ™” ๋ฐฐํฌ (Virtualized Deployment)

  • ํ•˜๋‚˜์˜ ์„œ๋ฒ„(OS) ์œ„์— ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ(VM)๋ฅผ ์ƒ์„ฑ
  • ํ•˜์ดํผ๋ฐ”์ด์ €(Hypervisor)๊ฐ€ OS์™€ VM ์‚ฌ์ด ์ค‘๊ฐ„ ๊ณ„์ธต ์—ญํ• 
    • VM๋งˆ๋‹ค OS ์„ค์น˜ ๊ฐ€๋Šฅ โ†’ ํ”„๋กœ๊ทธ๋žจ ๋…๋ฆฝ ์‹คํ–‰
  • ์žฅ์ :
    1. ํ”„๋กœ๊ทธ๋žจ ์ถฉ๋Œ ๊ฒฉ๋ฆฌ ๊ฐ€๋Šฅ
    2. ์šด์˜์ฒด์ œ ๋‹จ์œ„๋กœ ํ™˜๊ฒฝ ๋ถ„๋ฆฌ
  • ๋‹จ์ :
    1. VM๋งˆ๋‹ค OS ํฌํ•จ โ†’ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ๋งŽ์Œ
    2. VM ๊ธฐ๋™ ์‹œ๊ฐ„ ๋А๋ฆผ

3. ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ (Container Deployment)

  • ํ•˜์ดํผ๋ฐ”์ด์ € โ†’ Container Runtime์œผ๋กœ ๋Œ€์ฒด
  • VM โ†’ Container๋กœ ๋Œ€์ฒด
  • ์ปจํ…Œ์ด๋„ˆ๋Š” OS๋ฅผ ๋งค๋ฒˆ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด ์ปค๋„์„ ๊ณต์œ ํ•˜๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ ๊ฒฉ๋ฆฌ
  • ์žฅ์ :
    1. ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ„ โ†’ OS ์ „์ฒด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Œ
    2. ๋ฆฌ์†Œ์Šค ํšจ์œจ์  โ†’ ๋” ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ๊ฐ€๋Šฅ
    3. ๋ฐฐํฌ/ํ™•์žฅ ์šฉ์ด โ†’ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜, ๋น ๋ฅธ ์‹œ์ž‘
    4. ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ ์ œ๊ณต โ†’ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์ถฉ๋Œ ์ตœ์†Œํ™”

Container Runtime: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

๋ฐฐํฌ ๋ฐฉ์‹OS ํฌํ•จ ์—ฌ๋ถ€๊ฒฉ๋ฆฌ ์ˆ˜์ค€๋ฆฌ์†Œ์Šค ํšจ์œจ๊ธฐ๋™ ์†๋„ํŠน์ง•
์ „ํ†ต์  ๋ฐฐํฌOS 1๊ฐœ๋‚ฎ์Œ๋‚ฎ์Œ๋น ๋ฆ„๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ™์€ OS์—์„œ ์‹คํ–‰
๊ฐ€์ƒํ™” ๋ฐฐํฌ (VM)VM๋งˆ๋‹ค OS ํฌํ•จ๋†’์Œ๋‚ฎ์Œ๋А๋ฆผํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์ถฉ๋Œ ๋ฐฉ์ง€, OS ๋‹จ์œ„ ๊ฒฉ๋ฆฌ
์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌOS ๊ณต์œ , ์ปค๋„๋งŒ๋†’์Œ๋†’์Œ๋งค์šฐ ๋น ๋ฆ„ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„ ๊ฒฉ๋ฆฌ, ๊ฒฝ๋Ÿ‰, ๋ฐฐํฌ/ํ™•์žฅ ์šฉ์ด

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


1.3 ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Orchestration)์ด๋ž€?

  • ๋‹ค์ˆ˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌ, ํ™•์žฅ, ๋ชจ๋‹ˆํ„ฐ๋ง, ์žฅ์•  ๋Œ€์‘๊นŒ์ง€ ์ž๋™ํ™”ํ•˜๋Š” ๊ธฐ์ˆ 

๋งˆ์น˜ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„์—์„œ ์—ฌ๋Ÿฌ ์บ๋ฆญํ„ฐ๋ฅผ ๋™์‹œ์— ๊ด€๋ฆฌํ•˜๊ณ ,
๊ทธ๋“ค์ด ์ž˜ ํ˜‘๋ ฅํ•˜๋ฉฐ ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€ํœ˜ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ,
์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด ์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
ํŠนํžˆ ์ด ํ”„๋กœ๊ทธ๋žจ๋“ค์€ '์ปจํ…Œ์ด๋„ˆ'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ํŠน๋ณ„ํ•œ ์ƒ์ž ์•ˆ์— ๋‹ด๊ฒจ ์žˆ์œผ๋ฉฐ,
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ด๋“ค ์ƒ์ž๋ฅผ ํ•„์š”ํ•œ ๊ณณ์— ์˜ฎ๊ธฐ๊ณ , ์ƒ์ž ์•ˆ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ž˜ ๋Œ์•„๊ฐ€๋„๋ก ๋„์›€

์•„ ~ ์ ์  ๋งŽ์•„์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ํ†ตํ•ฉ์ ์œผ๋กœ
๋ฌธ์ œ์—†์ด ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š”
์ž๋™ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์ด๊ตฌ๋‚˜!

  • ๊ธฐ์กด ๋‹จ์ˆœ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ์™€ ์ฐจ์ด:

    ๋‹จ์ˆœ ์‹คํ–‰์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Kubernetes)
    ์ˆ˜๋™ ์‹คํ–‰์ž๋™ ๋ฐฐํฌ/ํ™•์žฅ
    ์žฅ์•  ์‹œ ์ง์ ‘ ์žฌ์‹œ์ž‘์žฅ์•  ์ž๋™ ๋ณต๊ตฌ
    ๋กœ๊ทธ, ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜๋™ํ†ตํ•ฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฐ€๋Šฅ
    ํ™•์žฅ ์‹œ ์„œ๋ฒ„ ์ง์ ‘ ๊ด€๋ฆฌHorizontal Pod Autoscaling์œผ๋กœ ์ž๋™ ํ™•์žฅ

1.4 Kubernetes์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  1. ์ž๋™ ๋ณต๊ตฌ(Self-healing)

    • ์‹คํŒจํ•œ ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ์žฌ์‹œ์ž‘
    • ์ •์˜๋œ ์ƒํƒœ์™€ ๋‹ค๋ฅด๋ฉด ์ž๋™ ๊ต์ฒด
  2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)

    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠธ๋ž˜ํ”ฝ ์ž๋™ ๋ถ„์‚ฐ
    • ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ์šฉ ๊ณ ์œ  IP ์ œ๊ณต
  3. ์„œ๋น„์Šค ๋ฐœ๊ฒฌ(Service Discovery)

    • ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ํ†ต์‹  ์ž๋™ ์„ค์ •
  4. ํ™•์žฅ์„ฑ(Scaling)

    • ๋ช…๋ น์–ด ํ•˜๋‚˜๋กœ ์ปจํ…Œ์ด๋„ˆ ์ˆ˜ ์‰ฝ๊ฒŒ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ด๊ธฐ ๊ฐ€๋Šฅ

1.5 Kubernetes์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ

  • ํŒŒ๋“œ(Pod)

    • ๊ฐ€์žฅ ์ž‘์€ ๋ฐฐํฌ ๋‹จ์œ„, ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ ํฌํ•จ
  • ์„œ๋น„์Šค(Service)

    • ํŒŒ๋“œ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ œ๊ณต
  • ๋ณผ๋ฅจ(Volume)

    • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ํŒŒ๋“œ ๊ฐ„ ๊ณต์œ  ๊ฐ€๋Šฅ
  • ๋„ค์ž„์ŠคํŽ˜์ด์Šค(Namespace)

    • ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ๊ฒฉ๋ฆฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

1.6 Kubernetes๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ์˜ ์žฅ์ 

  1. ํ™•์žฅ์„ฑ(Scalability)

    • ์š”์ฒญ ํญ์ฃผ ์‹œ Pod ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ๋Š˜๋ฆฌ๊ณ , ํŠธ๋ž˜ํ”ฝ ๊ฐ์†Œ ์‹œ ์ค„์ž„
    • ์˜ˆ: FastAPI Backend 2 โ†’ 10 Pod ์ž๋™ ํ™•์žฅ
  2. ์ž๊ธฐ ์น˜์œ (Self-Healing)

    • Pod Crash ์‹œ ์ž๋™ ์žฌ์‹œ์ž‘
    • ๋…ธ๋“œ ์žฅ์•  ์‹œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์žฌ๋ฐฐ์น˜
  3. ๋ฐฐํฌ ์šฉ์ด์„ฑ(Deployment)

    • Rolling Update, Rollback ์ง€์›
    • ๋‹ค์šดํƒ€์ž„ ์ตœ์†Œํ™”
  4. ํ™˜๊ฒฝ ๊ด€๋ฆฌ(Config)

    • ConfigMap/Secret์œผ๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ์ธ์ฆ ์ •๋ณด ๊ด€๋ฆฌ
    • ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ณ€๊ฒฝ๋งŒ์œผ๋กœ ์ „์ฒด ์„œ๋น„์Šค ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ
  5. ์„œ๋น„์Šค ์ถ”์ƒํ™”

    • Pod IP ์ง์ ‘ ๊ด€๋ฆฌ ํ•„์š” ์—†์Œ โ†’ Service๊ฐ€ ๋‚ด๋ถ€ ํ†ต์‹  ๋‹ด๋‹น
    • LoadBalancer/Ingress๋กœ ์™ธ๋ถ€ ์ ‘๊ทผ ์ œ์–ด
  6. ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น…

    • ํ†ตํ•ฉ ๋กœ๊ทธ/๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ๊ณผ ์‰ฝ๊ฒŒ ์—ฐ๋™ ๊ฐ€๋Šฅ
    • Prometheus, Grafana, ELK ์Šคํƒ ๋“ฑ
  7. DevOps ์นœํ™”

    • CI/CD ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ์—ฐ๊ณ„ ์šฉ์ด
    • IaC(Infrastructure as Code) ๊ฐ€๋Šฅ

2. ๊ธฐ์กด ํ™˜๊ฒฝ์— Kubernetes๋ฅผ ์ ์šฉํ•ด๋ณด์ž

2.1 App

  • ์ ์šฉ ๋ฐฉ์‹: Deployment + Service(LB), Auto-scaling ๊ฐ€๋Šฅ
  • ๊ธฐ์กด ํ™˜๊ฒฝ: ๋ช…๋ น์–ด๋กœ ์ˆ˜๋™ ์‹คํ–‰
  • Kubernetes ์ ์šฉ ํ›„: Deployment๋กœ ์ž๋™ ๋ฐฐํฌ, ๋กค๋ง ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ โ†’ ๊ด€๋ฆฌ ํŽธ๋ฆฌ, ๋‹ค์šดํƒ€์ž„ ์ตœ์†Œํ™”

2.2 Backend (FastAPI)

  • ์ ์šฉ ๋ฐฉ์‹: Deployment, Pod ์ˆ˜ ์กฐ์ ˆ, LoadBalancer Service๋กœ ์š”์ฒญ ๋ถ„์‚ฐ
  • ๊ธฐ์กด ํ™˜๊ฒฝ: ๋‹จ์ผ ์ธ์Šคํ„ด์Šค
  • Kubernetes ์ ์šฉ ํ›„: Pod ๋ณต์ œ ๊ฐ€๋Šฅ, ์š”์ฒญ ๋ถ„์‚ฐ โ†’ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์‹œ ์ž๋™ ํ™•์žฅ, ์•ˆ์ •์„ฑ ํ–ฅ์ƒ

2.3 Redis Queue

  • ์ ์šฉ ๋ฐฉ์‹: StatefulSet ๋˜๋Š” Deployment, Persist Volume ์‚ฌ์šฉ
  • ๊ธฐ์กด ํ™˜๊ฒฝ: ์ˆ˜๋™ ๊ด€๋ฆฌ
  • Kubernetes ์ ์šฉ ํ›„: Pod ์žฌ์‹œ์ž‘ ์‹œ ๋ฐ์ดํ„ฐ ์œ ์ง€ ๊ฐ€๋Šฅ, ์•ˆ์ •์  ์šด์˜ ๊ฐ€๋Šฅ

2.4 Dispatcher + Celery Worker

  • ์ ์šฉ ๋ฐฉ์‹: Dispatcher๋Š” Deployment, Celery Worker๋Š” Job/Deployment, ํ•„์š” ์‹œ Worker ์ˆ˜ ์กฐ์ ˆ
  • ๊ธฐ์กด ํ™˜๊ฒฝ: ์ˆ˜๋™ ์‹คํ–‰, ์š”์ฒญ ์ฒ˜๋ฆฌ ๋ณ‘๋ ฌํ™” ์–ด๋ ค์›€
  • Kubernetes ์ ์šฉ ํ›„: ์ž๋™ ์Šค์ผ€์ผ๋ง ๊ฐ€๋Šฅ, ์š”์ฒญ ์ฒ˜๋ฆฌ ๋ณ‘๋ ฌํ™” ์šฉ์ด, ์žฅ์•  ๋Œ€์‘ ์ž๋™ํ™”

2.5 Config ๊ด€๋ฆฌ

  • ์ ์šฉ ๋ฐฉ์‹: ConfigMap / Secret์œผ๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜, DB URL, Redis URL ๊ด€๋ฆฌ
  • ๊ธฐ์กด ํ™˜๊ฒฝ: .env ํŒŒ์ผ ์ˆ˜๋™ ๊ด€๋ฆฌ
  • Kubernetes ์ ์šฉ ํ›„: ์•ˆ์ „ํ•˜๊ฒŒ ์ค‘์•™ ๊ด€๋ฆฌ, ํ™˜๊ฒฝ ๋ถ„๋ฆฌ ์šฉ์ด, CI/CD ์—ฐ๊ณ„ ๊ฐ€๋Šฅ

2.6 ์ „๋ฐ˜์  ๋ณ€ํ™” ์š”์•ฝ

ํ”„๋กœ๊ทธ๋žจ๊ธฐ์กด ํ™˜๊ฒฝKubernetes ์ ์šฉ ํ›„
App์ˆ˜๋™ ์‹คํ–‰Deployment + LB, Auto-scaling
Backend๋‹จ์ผ ์ธ์Šคํ„ด์ŠคPod ๋ณต์ œ, LoadBalancer ์š”์ฒญ ๋ถ„์‚ฐ
Redis Queue์ˆ˜๋™ ๊ด€๋ฆฌStatefulSet/Deployment, Persist Volume
Dispatcher + Celery์ˆ˜๋™ ์‹คํ–‰Deployment + Job/Worker, ์ž๋™ ์Šค์ผ€์ผ๋ง
์žฅ์•  ๋Œ€์‘์ˆ˜๋™ ์žฌ์‹œ์ž‘Pod Crash ์‹œ ์ž๋™ ์žฌ์‹œ์ž‘(Self-healing)
ํ™•์žฅ์ˆ˜๋™ ์กฐ์ •Horizontal Pod Autoscaler(HPA)
ํ™˜๊ฒฝ ๋ณ€์ˆ˜.env ํŒŒ์ผConfigMap/Secret์œผ๋กœ ์•ˆ์ „ ๊ด€๋ฆฌ
์„œ๋น„์Šค Discovery์ง์ ‘ IP/Port ๊ด€๋ฆฌKubernetes Service + ๋‚ด๋ถ€ DNS ์ œ๊ณต
profile
๋งŒ๋‘๋Š” ๋ชฉ๋ง๋ผ

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