JUST DO IT!

Docker Container ๊ด€๋ฆฌ์— ์ค‘์š”ํ•œ K8s ์•Œ์•„๋ณด๊ธฐ - TIL230616 ๋ณธ๋ฌธ

TIL

Docker Container ๊ด€๋ฆฌ์— ์ค‘์š”ํ•œ K8s ์•Œ์•„๋ณด๊ธฐ - TIL230616

sunhokimDev 2023. 6. 20. 20:16

๐Ÿ“š KDT WEEK 11 DAY 5 TIL

  • Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  - ์„œ๋ฒ„ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€
  • Docker Container๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• - Container Orchestration
  • K8s

๐ŸŸฅ ์„œ๋ฒ„ ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€

์„œ๋ฒ„์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๊ณ  ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

 

1. Infrastructure As Code

๋Œ€ํ™”ํ˜• ๋ช…๋ น์ด ์•„๋‹Œ ์ž๋™ํ™”๋œ ์Šคํฌ๋ฆฝํŠธ๋กœ ํ•ด๊ฒฐํ•˜๊ณ  ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„์— ๋ช…๋ น์„ ๋Œ€์‹  ์‹คํ–‰

  • DevOps ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๊ผญ ์•Œ์•„์•ผํ•˜๋Š” ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜
  • ํ•˜์ง€๋งŒ ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ต๊ณ , ์†Œํ”„ํŠธ์›จ์–ด ์ถฉ๋Œ ๋ฌธ์ œ์—๋Š” ํฌ๊ฒŒ ๋„์›€์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

ex. Chef, Puppet, Ansible, Terraform...

 

2. Virtual Machine

  • ์†Œํ”„ํŠธ์›จ์–ด ์ถฉ๋Œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ํ•œ ์„œ๋ฒ„์— ๋‹ค์ˆ˜์˜ VM์„ ์˜ฌ๋ ค ์„œ๋น„์Šค๋ณ„๋กœ ํ• ๋‹นํ•œ๋‹ค.
  • ๋ฆฌ์†Œ์Šค ์†Œ๋น„๊ฐ€ ํฌ๊ณ  ๋Š๋ฆฌ๋ฉฐ, ํŠน์ • VM ๋ฒค๋” ํ˜น์€ ํด๋ผ์šฐ๋“œ์—๊ฒŒ ์ข…์†๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค. (Lock-in)

 

3. Docker

  • ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ Docker Image๋กœ ๋งŒ๋“ค๋ฉด ์–ด๋””์„œ๊ฐ„ ๋™์ž‘ํ•œ๋‹ค.
  • VM์— ๋น„ํ•ด ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„๋„ ์ ๊ณ  ์‹คํ–‰์‹œ๊ฐ„๋„ ๋น ๋ฅด๋‹ค.
  • ์˜คํ”ˆ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์šฐ๋“œ๋‚˜ ํŠน์ •์—…์ฒด Lock-in ์ด์Šˆ๊ฐ€ ์—†๋‹ค.

 

Docker๋Š” ์„œ๋น„์Šค ๋ฐฐํฌ์˜ ๊ธฐ๋ณธ์ด ๋˜์–ด Github์˜ ๋Œ€๋ถ€๋ถ„ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋Š” Docker image๋ฅผ ๋งŒ๋“ค์–ด Registry์— ๋“ฑ๋กํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ Docker Container์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์šด๊ฒŒ ๋‹จ์ ์ด๋‹ค.

> ์„œ๋ฒ„์— ์ ๋‹นํ•œ ๋ถ„๋ฐฐ, ๋ชจ๋‹ˆํ„ฐ๋ง, ํŠน์ • ์„œ๋น„์Šค์˜ ์ปจํ…Œ์ด๋„ˆ ์ˆ˜ ํƒ„๋ ฅ์  ์šด์˜ ๋“ฑ..

 


 

๐ŸŸฆ Container Orchestration 

๋„์ปค ์ด๋ฏธ์ง€์˜ ๋ฐฐํฌ, ์Šค์ผ€์ผ๋ง, ๋„คํŠธ์›Œํฌ ์ƒ์„ฑ, ์ธ์‚ฌ์ดํŠธ ๋ฝ‘๊ธฐ ๋“ฑ Container์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค

 

1. ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ

  • ์„œ๋น„์Šค ์ด๋ฏธ์ง€๋ฅผ Container๋กœ ๋ฐฐํฌ
  • ์ด์ƒ์ด ๊ฐ์ง€๋˜๋ฉด ์ด์ „ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•œ๋‹ค.
  • Container์˜ ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ํฐ ์ด์Šˆ๊ฐ€ ๋จ

 

2. ์Šค์ผ€์ผ๋ง

  • ํŠน์ • ์„œ๋น„์Šค์˜ Container ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋Š˜๋ฆฌ๊ณ  ์ค„์ธ๋‹ค.
  • ์„œ๋ฒ„์˜ utilization์„ ๊ณ ๋ คํ•œ๋‹ค. (๊ฐ ์„œ๋ฒ„์˜ ๊ฐ€๋™๋ฅ ์ด ๋น„์Šทํ•˜๋„๋ก ์ปจํ…Œ์ด๋„ˆ ๋ถ„๋ฐฐ)

 

3. ๋„คํŠธ์›Œํฌ

  • ์„œ๋น„์Šค๊ฐ€ ๋‹ค์ˆ˜์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋‚˜๋ˆ ์ง€๋ฉด์„œ ์ด๋“ค์„ ๋Œ€ํ‘œํ•˜๋Š” Load Balancer๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์–ด์•ผํ•จ
  • ์„œ๋น„์Šค๋“ค๊ฐ„์— ์„œ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์•ผํ•จ > ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ

 

4. ์ธ์‚ฌ์ดํŠธ

  • ์ปจํ…Œ์ด๋„ˆ ๋ฌธ์ œ์‹œ ํ•ด๊ฒฐ > ์–ด๋–ค ์„œ๋ฒ„์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‹ค์šด๋˜๋ฉด ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์žฌ๊ฐ€๋™
  • ์ „์ฒด ์„œ๋น„์Šค์˜ ๋ถ„์„ > ์‹œ๊ฐํ™” ๋ฐ ๋ฌธ์ œ ๋ถ„์„, Logging ๋“ฑ

 

ex) K8s, Mesos, Matathon, DEIS, Rancher...

 


๐ŸŸฉ K8s (Kubernetes)

์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ๋ฐฐํฌ/์Šค์ผ€์ผ/๊ด€๋ฆฌ ์ž๋™ํ™”๋ฅผ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ(Orchestration) ์‹œ์Šคํ…œ

 

K8s ์•„ํ‚คํ…์ฒ˜

 

Kubernetes ์•„ํ‚คํ…์ฒ˜

 

Pod

K8s์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋นŒ๋”ฉ ๋ธ”๋ก

K8s ์‚ฌ์šฉ์‹œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐ”๋กœ ๋‹ค๋ฃจ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ Pod๋ฅผ ์‚ฌ์šฉํ•จ

 

  • 1 Pod = ๋ณดํ†ต์€ ํ•˜๋‚˜์˜ container๋กœ ๊ตฌ์„ฑ
  • ํ•˜๋‚˜๋ณด๋‹ค ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” helper container๊ฐ€ ๋ณดํ†ต ๊ฐ™์ด ์‚ฌ์šฉ๋จ
  • ๊ฐ™์€ Pod ์•ˆ์—์„œ๋Š” ๋””์Šคํฌ์™€ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ณต์œ 
  • Fail-over๋ฅผ ์œ„ํ•ด ๋ณต์ œ๋ณธ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.
  • Pod๋Š” ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š” self-container server์ด๋‹ค.

 

ex) kubectl run nginx --image nginx

nginx ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , nginx ์ด๋ฆ„์˜ Pod๋กœ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๋ช…๋ น์–ด.

 

์•„์ง ์ž‘์„ฑ์ค‘..!

 

์ฝ์–ด๋ณด๋ฉด ์ข‹์€ Docker์™€ Airflow์— ๋Œ€ํ•œ ์‚ฌ๋ก€

 

์˜์นด Airflow https://tech.socarcorp.kr/data/2021/06/01/data-engineering-with-airflow.html

 

์˜์นด ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน - Airflow์™€ ํ•จ๊ป˜ํ•œ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ ๊ตฌ์ถ•๊ธฐ(feat. Airflow on Kubernetes)

์ง€๋‚œ 3๋…„๊ฐ„ Airflow ๊ตฌ์ถ• ๋ฐ ์šด์˜๊ธฐ๋ก

tech.socarcorp.kr

 

๋ฒ„ํ‚ทํ”Œ๋ ˆ์ด์Šค Airflow https://www.bucketplace.com/post/2021-04-13-%EB%B2%84%ED%82%B7%ED%94%8C%EB%A0%88%EC%9D%B4%EC%8A%A4-airflow-%EB%8F%84%EC%9E%85%EA%B8%B0/

 

๋ฒ„ํ‚ทํ”Œ๋ ˆ์ด์Šค Airflow ๋„์ž…๊ธฐ - ์˜ค๋Š˜์˜์ง‘ ๋ธ”๋กœ๊ทธ

ํƒ์›”ํ•œ ๋ฐ์ดํ„ฐํ”Œ๋žซํผ์„ ์œ„ํ•œ Airflow ๋„์ž…๊ธฐ

www.bucketplace.com