Skip to content

Docker & Kubernetes

Youngho Kim edited this page Nov 27, 2022 · 1 revision
  • ์ž‘์„ฑ์ž: J159_์ด์ง„์šฐ

I. ์„œ๋ก 

A. ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ

๋‚˜๋Š” 8์›” 31์ผ๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€ ๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›น/๋ชจ๋ฐ”์ผ 7๊ธฐ ์›นํ’€์Šคํƒ ๋ฉค๋ฒ„์‹ญ ๊ณผ์ •์—์„œ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. 2์ฃผ ์ „ ๋ถ€ํ„ฐ ๊ทธ๋ฃนํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๊ณ , ๋‚˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์šฐ๋ฆฌ ๊ทธ๋ฃน์˜ ๊ทธ๋ผ์šด๋“œ๋ฃฐ๋กœ 1์ฃผ์ผ์— 1๊ฐœ ์ด์ƒ์˜ ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

B. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

์šฐ๋ฆฌ ๊ทธ๋ฃน์€ โ€˜๋ถ€๋„๋Ÿผโ€™์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, โ€˜๋ถ€๋„๋Ÿผโ€™์€ ์• ์ž์ผ ๊ธฐ๋ฒ• ์ค‘ ํ•œ ์ข…๋ฅ˜์ธ ์Šคํฌ๋Ÿผ์„ ๋„์™€์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค. ์Šคํฌ๋Ÿผ์„ ์˜จ๋ผ์ธ์—์„œ ์ฒ˜์Œ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ ํ™œ๋™์—์„œ ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ๋‹ต๋‹ตํ•จ๊ณผ ์–ด๋ ค์›€์„ ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ ๊ทธ๋ฃน์€ ์Šคํฌ๋Ÿผ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ํ˜‘์—…ํˆด์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

C. ์ฃผ์ œ ์„ ์ • ๊ณ„๊ธฐ

๋ถ€์ŠคํŠธ์บ ํ”„์—์„œ ๋‹ค์–‘ํ•œ ํ™œ๋™๊ณผ ๊ฒฝํ—˜์„ ํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์บ ํผ๋“ค์ด Docker์™€ Kubernetes๋ฅผ ํ”„๋กœ์ ํŠธ์— ๋„์ž…ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ฒŒ ๋˜์—ˆ๊ณ , โ€˜์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—๋„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์„๊นŒ?โ€™๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ๋„์ž…ํ•˜๊ธฐ ์ „์— ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค.


II. ๋ณธ๋ก 

A. ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ

1. ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ๋ž€

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

2. ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ์˜ ํŠน์ง•

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

B. Docker

1. Docker๋ž€

Go์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ด๋‹ค. DOcker๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ํ†ตํ•ด OS๋ฅผ ๊ณต์œ , ๊ฒฉ๋ฆฌํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์ปจํ…Œ์ด๋„ˆ์˜ ๊ณต์œ ์ž์›๊ณผ ๊ฒฉ๋ฆฌ์ž์›

  • ๊ณต์œ  ์ž์›
    • CPU ์„ฑ๋Šฅ (ํ•˜๋“œ์›จ์–ด)
    • ๋ฉ”๋ชจ๋ฆฌ (ํ•˜๋“œ์›จ์–ด
    • ๋ฆฌ๋ˆ…์Šค ์ปค๋„ (ํ˜ธ์ŠคํŠธ OS)
  • ๊ฒฉ๋ฆฌ ์ž์›
    • ๋„คํŠธ์›Œํฌ (IP, PORT)
    • ํŒŒ์ผ
    • ํ”„๋กœ์„ธ์Šค

3. Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ํ™˜๊ฒฝ ํ‘œ์ค€ํ™”๋ฅผ ํ†ตํ•œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ
    • ๊ฐœ๋ฐœํ•˜๋ ค๊ณ  ํ•˜๋Š” ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ๋™ํ•˜๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ
    • ํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๋‹ค๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ์กฐ์ •ํ•  ๋ฌธ์ œ๊ฐ€ ์ˆ˜๋„ ์—†์ด ์ƒ๊ธฐ๋ฉฐ, ์ˆ˜์ž‘์—…์œผ๋กœ ํ™˜๊ฒฝ์„ ๋งž์ถ”๋Š” ์ผ์€ ๊ต‰์žฅํžˆ ๋ฒˆ๊ฑฐ๋กœ์šด ์ผ
    • ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋Œ์•„๊ฐ€๋„๋ก ๋นŒ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ทธ๋งŒํผ์˜ ๋น„์šฉ์ด ๋ฐœ์ƒ
    • ๋„์ปค๋Š” ํ™˜๊ฒฝ๊นŒ์ง€ ํŒจํ‚ค์ง•ํ•ด์„œ ์ค„ ์ˆ˜ ์žˆ์Œ โ‡’ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ
  • ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์ฝ”๋“œ ์ œ๊ณต์„ ํ†ตํ•œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ
    • ๊ฐœ๋ฐœ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‚ด ์ปดํ“จํ„ฐ์— ์„ค์น˜ํ•ด ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ, โ€˜๋‚ด ์ปดํ“จํ„ฐโ€™ ํ˜น์€ โ€˜๋‚ด ์‚ฌ์šฉ ๋ชฉ์ โ€™์—๋งŒ ๋งž๋Š” ์„ค์ •์ด ๋”ฐ๋กœ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
      • ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ๋ฐฉํ™”๋ฒฝ ์„ค์ •, ์‚ฌ์šฉ์ž ๊ถŒํ•œ ์„ค์ •, PORT ์„ค์ •
    • ๋‹ค์–‘ํ•œ ์„ค์ • ์ž‘์—…์„ ์ˆ˜์ž‘์—…์œผ๋กœ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„ค์ • ๊ฐ„์— ๊ฐ„์„ญ์ด ์ผ์–ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถœ ์ˆ˜๋„ ์žˆ์Œ
    • ๊ฐœ๋ฐœ๊ณผ ์‹คํ–‰์— ๋Œ€ํ•œ ํ™˜๊ฒฝ ์„ค์ •์ด ์ฝ”๋“œ๋กœ ์ •ํ•ด์ ธ ์žˆ๋‹ค๋ฉด, ์ด๋Ÿฐ ๊ณ ๋ฏผ์œผ๋กœ๋ถ€ํ„ฐ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ์Œ
  • ๋ฆฌ์†Œ์Šค ๊ฒฉ๋ฆฌ์„ฑ์„ ํ†ตํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ + ์‹คํ–‰ ํ™˜๊ฒฝ ๋ถ„๋ฆฌ
    • ๋ฆฌ์†Œ์Šค ๊ฒฉ๋ฆฌ์„ฑ : ์‹ค์ œ๋กœ๋Š” ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ IP์™€ PORT ๋“ฑ์„ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ๋ฆฌ์†Œ์Šค ๊ฒฉ๋ฆฌ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ๋กœ๋Š” ๊ฐ€์ƒ ๋จธ์‹ (Virtual Machine), ๋„์ปค ๋“ฑ์ด ์žˆ์Œ
    • A ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ B ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์„ ๋•Œ ๋‘ ํ”„๋กœ๊ทธ๋žจ ๋ชจ๋‘ node.js ๋Ÿฐํƒ€์ž„์ด ํ•„์š”ํ•˜์ง€๋งŒ A๋Š” 14๋ฒ„์ „, B๋Š” 16๋ฒ„์ „์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ
      • ๊ฐ๊ฐ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

C. Kubernetes

1. Kubernetes๋ž€

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

2. Kubernetes ํŠน์ง•

  • ์ž๋™ํ™”๋œ ๋ณต๊ตฌ (Self-healing)
    • ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฃฝ์œผ๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ทธ๊ฒƒ์„ ๋น ๋ฅด๊ฒŒ ์žฌ์‹œ์ž‘์‹œํ‚ด
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ (Load balancing)
    • ๋งŒ์•ฝ ์—„์ฒญ๋‚œ ์ˆ˜์˜ ์‚ฌ์šฉ์ž๋กœ ์ธํ•ด ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ค€๋น„๊ฐ€ ๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
  • ๋ฌด์ค‘๋‹จ ์„œ๋น„์Šค (Fault tolerance)
    • ๊ธฐ์กด ๊ธฐ์—…์—์„œ๋Š” ์„œ๋ฒ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์ž ๋“  ์ƒˆ๋ฒฝ ์‹œ๊ฐ„์„ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜, ๊ธด๊ธ‰ ์ ๊ฒ€์˜ ํ˜•ํƒœ๋กœ ์„œ๋น„์Šค๋ฅผ ์ผ์‹œ ์ค‘๋‹จํ•ด์™”์Œ
    • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ ์ง„์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ
  • ํ˜ธํ™˜์„ฑ (Vendor Lock in ํ•ด๊ฒฐ)
    • Vendor Lock in ์˜ˆ์‹œ
      • ๊ธฐ์กด์— A ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ I ํด๋ผ์šฐ๋“œ๋กœ ํ™˜๊ฒฝ์„ ์ด์ „ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์—…์ฒด(Vendor)์˜ ํด๋ผ์šฐ๋“œ ์ œํ’ˆ ๊ฐ„์— ํ˜ธํ™˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์ด์ „ํ•˜๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ
    • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž๋“ค์ด ํŠน์ • ์—…์ฒด์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ํด๋ผ์šฐ๋“œ์˜ ํ™˜๊ฒฝ์„ ์ด์ „ํ•  ์ˆ˜ ์žˆ์Œ
    • ๋˜ํ•œ, ํ•œ๋ฒˆ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ตํžˆ๋ฉด provider ํšŒ์‚ฌ์— ์ƒ๊ด€์—†์ด ๊ณตํ†ต๋œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅ

๊ฒฐ๋ก 

A. ์š”์•ฝ

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

B. ๋‚˜์˜ ์ƒ๊ฐ (๋ถ€๋„๋Ÿผ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ)

๋Š๋‚€ ์ 

๊ต‰์žฅํžˆ ํฅ๋ฏธ๋กœ์šด ๊ธฐ์ˆ ์ด๋‹ค. ์˜ˆ์ „๋ถ€ํ„ฐ โ€˜๊ณต๋ถ€ํ•ด๋ด์•ผ์ง€โ€™๋ผ๊ณ  ์ƒ๊ฐ์€ ํ–ˆ์ง€๋งŒ, ๊ฐœ๋ฐœ ์ง€์‹๋„ ๋ถ€์กฑํ•˜๋‹ค๋ณด๋‹ˆ ๋„์ž…์„ ๊ณ ๋ฏผํ•ด๋ณธ ์ ์€ ์—†์—ˆ๋‹ค(ํ•œ ๋ฒˆ Docker๋ฅผ ์‚ฌ์šฉํ•ด๋ณธ ์ ์€ ์žˆ์ง€๋งŒ ๋‹จ์ˆœํžˆ ๋”ฐ๋ผํ•˜๊ธฐ ์ˆ˜์ค€์ด์˜€๋‹ค). ์ด๋ฒˆ ๊ธฐํšŒ์— ์šฐ๋ฆฌ โ€˜๋ถ€๋„๋Ÿผโ€™์—์„œ ๋„์ž…์„ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ต‰์žฅํžˆ ๋ณด๋žŒ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

์žฅ์ 

ํ˜„์žฌ ์šฐ๋ฆฌ์˜ ๋ฐฐํฌ ์‹œ์—๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๋Š”๋ฐ, Docker์™€ Kubernetes๋ฅผ ์ž˜ ํ™œ์šฉํ•œ๋‹ค๋ฉด ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์ ์šฉ์‹œ์ผœ ์„œ๋น„์Šค์ ์ธ ์ธก๋ฉด์—์„œ ๋งค์šฐ ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋œ๋‹ค.

๋‹จ์ 

Docker์™€ Kubernetes์˜ ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ์šฐ๋ ค๋œ๋‹ค. ์กฐ์€ ๋งˆ์Šคํ„ฐ๋‹˜์ด๋‚˜ ์†ก์š”์ฐฝ ๋งˆ์Šคํ„ฐ๋‹˜๊ป˜์„œ๋„ ๋ช‡ ๋ฒˆ ์–ธ๊ธ‰ํ•˜์‹  ์ ์ด ์žˆ๋Š”๋ฐ, Docker์™€ Kubernetes๋ฅผ ๋งŽ์€ ์บ ํผ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์„œ ๋†€๋ผ์…จ๋‹ค๊ณ  ํ•˜์˜€๋‹ค. ๋„์ž… ์‹œ ์„œ๋น„์Šค์ ์ธ ์ธก๋ฉด์—์„œ๋Š” ๋‹จ์ ๋ณด๋‹ค๋Š” ์žฅ์ ์ด ๋งŽ์€ ๊ฒƒ์€ ๋ถ„๋ช…ํ•˜์ง€๋งŒ, ์ด ๋•Œ๋ฌธ์— ์„œ๋น„์Šค ์ž์ฒด์˜ ํ’ˆ์งˆ์ด ๋–จ์–ด์ง„๋‹ค๋ฉด โ€˜๊ตณ์ด ๋„์ž…ํ•ด์•ผํ• ๊นŒโ€™ ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ฒฐ๋ก 

Docker์™€ Kubernetes๋Š” ๋ณด๋‹ค ์™„์„ฑ๋„ ๋†’์€ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ๋งˆ์ง€๋ง‰ ํผ์ฆ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์Œ ์ฃผ๊นŒ์ง€๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์— ๋งค์ง„์„ ํ•˜๋Š” ๊ฒŒ ์ข‹์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ ์ดํ›„์— ์‹œ๊ฐ„์ด ๋œ๋‹ค๋ฉด Docker์™€ Kubernetes๋ฅผ ํ•™์Šตํ•˜์—ฌ ์ ์šฉ์‹œํ‚จ๋‹ค๋ฉด ๋ณด๋‹ค ์™„์„ฑ๋„ ๋†’์€ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.


Reference

[๋„์ปค(Docker)๋ž€? - ํ•„์š”์„ฑ - ํ•˜๋‚˜๋ชฌ](https://hanamon.kr/%EB%8F%84%EC%BB%A4%EB%9E%80-docker-%ED%95%84%EC%9A%94%EC%84%B1/)

[[Kubernetes] ๋„์ปค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฐ„๋‹จ ๋น„๊ต](https://wooono.tistory.com/109)

๐Ÿ“š ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

โœ๏ธ ์ปจ๋ฒค์…˜

๐Ÿง‘โ€๐Ÿซ ๋ฉ˜ํ† ๋ง

๐Ÿ“ ์• ์ž์ผ ํ”„๋กœ์„ธ์Šค

๊ธฐํš
๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ
์Šคํ”„๋ฆฐํŠธ ๋ฆฌ๋ทฐ
์Šคํ”„๋ฆฐํŠธ ํšŒ๊ณ 
ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…
๊ธฐํƒ€ ์‚ฐ์ถœ๋ฌผ

๐Ÿ“– ๊ธฐ์ˆ ๋ฌธ์„œ

Week2
Week3
Week4
Week5

๐Ÿ—‚ ์ฐธ๊ณ ๋ฌธ์„œ

Clone this wiki locally