inflearn logo
๊ฐ•์˜

๊ฐ•์˜

N
์ฑŒ๋ฆฐ์ง€

์ฑŒ๋ฆฐ์ง€

๋ฉ˜ํ† ๋ง

๋ฉ˜ํ† ๋ง

N
ํด๋ฆฝ

ํด๋ฆฝ

๋กœ๋“œ๋งต

๋กœ๋“œ๋งต

์ง€์‹๊ณต์œ 

๐Ÿš€ Kubernetes ๋ฐœ์ „์‚ฌ: ๋ฌธ์ œ ํ•ด๊ฒฐ ์ค‘์‹ฌ

dukim
2

์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ๊ณผ Kubernetes์˜ ๋ฐœ์ „์„ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ด€์ ์—์„œ ์‚ดํŽด๋ณด๋ฉด, ๊ฐ ๊ธฐ์ˆ ์ด ์–ด๋–ค ํ•„์š”์— ์˜ํ•ด ๋“ฑ์žฅํ–ˆ๋Š”์ง€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋“ค๊ณผ ๊ทธ ํ•ด๊ฒฐ ๊ณผ์ •์„ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

1๋‹จ๊ณ„: ์„œ๋ฒ„ ์ž์› ํ™œ์šฉ์˜ ๋”œ๋ ˆ๋งˆ (2000๋…„๋Œ€ ์ดˆ๋ฐ˜)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

๊ฐ€์ƒ ๋จธ์‹ ์˜ ํ•œ๊ณ„

๋ฌผ๋ฆฌ ์„œ๋ฒ„ ์ง์ ‘ ์‚ฌ์šฉ์˜ ๋ฌธ์ œ

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฒฉ๋ฆฌ ๊ธฐ์ˆ  ๋ฐœ์ „

ํ•ต์‹ฌ ๊ธฐ์ˆ ๋“ค์˜ ๋“ฑ์žฅ

์ด ๊ธฐ์ˆ ๋“ค์ด ํ˜„๋Œ€ ์ปจํ…Œ์ด๋„ˆ์˜ ํ† ๋Œ€๊ฐ€ ๋˜์—ˆ์ง€๋งŒ, ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ธฐ์—” ๋„ˆ๋ฌด ๋ณต์žกํ–ˆ์Šต๋‹ˆ๋‹ค.

2๋‹จ๊ณ„: ์ปค๋„ ๊ธฐ์ˆ ์˜ ๋ณต์žก์„ฑ ๋ฌธ์ œ (2008๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ๋„ˆ๋ฌด ์–ด๋ ค์šด ๊ธฐ์ˆ 

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: LXC (Linux Containers) ๋“ฑ์žฅ

"์‰ฌ์šด ์ปจํ…Œ์ด๋„ˆ"์˜ ์‹œ์ž‘

ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ์ˆ˜์ค€์˜ ๊ธฐ์ˆ  ์ง€์‹์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

3๋‹จ๊ณ„: ๊ฐœ๋ฐœ์ž ์นœํ™”์„ฑ ๋ถ€์กฑ (2013๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

LXC์˜ ํ•œ๊ณ„

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: Docker์˜ ํ˜์‹ ์  ๋“ฑ์žฅ

๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜(DX) ํ˜์‹ 

Docker์˜ ์„ฑ๊ณต ๋น„๊ฒฐ์€ ๋ณต์žกํ•œ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

4๋‹จ๊ณ„: ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ (2014๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

์šด์˜ ํ™˜๊ฒฝ์˜ ํ˜„์‹ค

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: Kubernetes ๋“ฑ์žฅ

์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์˜ ์‹œ์ž‘

๋‹น์‹œ์—๋Š” Docker๊ฐ€ ๊ฑฐ์˜ ์œ ์ผํ•œ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋กœ๋„ ์ถฉ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

5๋‹จ๊ณ„: ๋Ÿฐํƒ€์ž„ ์ƒํƒœ๊ณ„์˜ ๋‹ค์–‘ํ™” (2016๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

๋‹จ์ผ ๋Ÿฐํƒ€์ž„ ์˜์กด์˜ ์œ„ํ—˜์„ฑ

๐ŸŸข ํ•ด๊ฒฐ์ฑ… 1: Docker ๋‚ด๋ถ€ ๊ตฌ์กฐ ๊ฐœ์„ 

containerd ํ”„๋กœ์ ํŠธ ์‹œ์ž‘

๐ŸŸข ํ•ด๊ฒฐ์ฑ… 2: CRI(Container Runtime Interface) ๋„์ž…

Kubernetes 1.5 (2016๋…„ 12์›”)

ํ•˜์ง€๋งŒ ๋ฌธ์ œ ๋ฐœ์ƒ: Docker๋Š” CRI๋ฅผ ์ง์ ‘ ์ง€์›ํ•˜์ง€ ์•Š์Œ โ†’ Kubernetes๊ฐ€ dockershim ์ž„์‹œ ์–ด๋Œ‘ํ„ฐ ๊ฐœ๋ฐœ

6๋‹จ๊ณ„: ํ‘œ์ค€ํ™”์˜ ํ•„์š”์„ฑ (2015-2017๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

๋Ÿฐํƒ€์ž„ ๊ฐ„ ํ˜ธํ™˜์„ฑ ๋ถ€์žฌ

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: OCI(Open Container Initiative) ํ‘œ์ค€ ์ œ์ •

2015๋…„ 6์›” OCI ์„ค๋ฆฝ

runc ๊ฐœ๋ฐœ (2015๋…„)

7๋‹จ๊ณ„: dockershim์˜ ๊ด€๋ฆฌ ๋ถ€๋‹ด (2018-2020๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

์ž„์‹œ๋ฐฉํŽธ์˜ ํ•œ๊ณ„

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: Docker ์ง€์› ์ค‘๋‹จ ๊ฒฐ์ •

2020๋…„ 12์›” Kubernetes 1.20์—์„œ dockershim deprecated ์„ ์–ธ

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ํฐ ์šฐ๋ ค ํ‘œ์ถœ - ๋งŽ์€ ๊ธฐ์—…์ด Docker ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ ๊ตฌ์ถ•ํ–ˆ๊ธฐ ๋•Œ๋ฌธ

8๋‹จ๊ณ„: ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋Œ€์•ˆ ์ œ์‹œ (2021-2022๋…„)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

ํ˜„์‹ค์ ์ธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์–ด๋ ค์›€

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: cri-dockerd ํ”„๋กœ์ ํŠธ

Mirantis์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ˜‘๋ ฅ

๊ฒฐ๊ณผ: ์‚ฌ์šฉ์ž๋“ค์ด ์ž์‹ ์˜ ์ผ์ •์— ๋งž์ถฐ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ

9๋‹จ๊ณ„: ์ตœ์ ํ™”๋œ ๊ตฌ์กฐ๋กœ์˜ ์ง„ํ™” (2019-ํ˜„์žฌ)

๐Ÿ”ด ๋ฌธ์ œ์ƒํ™ฉ

์—ฌ์ „ํžˆ ๋น„ํšจ์œจ์ ์ธ ๊ตฌ์กฐ

๐ŸŸข ํ•ด๊ฒฐ์ฑ…: ์ง์ ‘ ์—ฐ๊ฒฐ ์•„ํ‚คํ…์ฒ˜

containerd์˜ CRI ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ

ํ˜„์žฌ ๊ถŒ์žฅ ์•„ํ‚คํ…์ฒ˜

๐ŸŽฏ ํ˜„์žฌ ์ƒํ™ฉ ์ •๋ฆฌ (2025๋…„)

๐Ÿ“Š ๋Ÿฐํƒ€์ž„ ์„ ํƒ์ง€

๋Ÿฐํƒ€์ž„ํŠน์ง•์ฃผ ์‚ฌ์šฉ์ฒ˜containerd๊ฐ€์žฅ ์ผ๋ฐ˜์ , ์•ˆ์ •์ ๋Œ€๋ถ€๋ถ„์˜ Kubernetes ํด๋Ÿฌ์Šคํ„ฐCRI-ORed Hat ์ฃผ๋„, OCI ํ˜ธํ™˜OpenShift, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝDocker + cri-dockerd๋ ˆ๊ฑฐ์‹œ ์ง€์›๊ธฐ์กด Docker ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ

๐Ÿ— ํ˜„์žฌ ์•„ํ‚คํ…์ฒ˜ ๊ณ„์ธต

Kubernetes (kubelet)
       โ†“ CRI
High-level Runtime (containerd, CRI-O)
       โ†“ OCI
Low-level Runtime (runc, firecracker)
       โ†“
Linux Kernel (cgroup, namespace, chroot)

๐Ÿ”„ ๋ฐœ์ „ ๊ณผ์ •์˜ ํŒจํ„ด

์ „์ฒด ๋ฐœ์ „ ๊ณผ์ •์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๋ณต์žกํ•จ โ†’ ๋‹จ์ˆœํ•จ: ์–ด๋ ค์šด ๊ธฐ์ˆ ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐœ์„ 

  2. ๋‹จ์ผ ์„ ํƒ โ†’ ๋‹ค์–‘ํ•œ ์„ ํƒ: ํ•œ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์—์„œ ์—ฌ๋Ÿฌ ๋Œ€์•ˆ์œผ๋กœ ํ™•์žฅ

  3. ํ‘œ์ค€ํ™”: ํ˜ผ์žฌ๋œ ๊ธฐ์ˆ ๋“ค์„ ํ†ต์ผ๋œ ๊ทœ์•ฝ์œผ๋กœ ์ •๋ฆฌ

  4. ์ตœ์ ํ™”: ๋ถˆํ•„์š”ํ•œ ๋ณต์žก์„ฑ ์ œ๊ฑฐํ•˜๊ณ  ์„ฑ๋Šฅ ๊ฐœ์„ 

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

ํ˜„์žฌ์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์ด๋Ÿฌํ•œ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ํ†ตํ•ด ์™„์„ฑ๋œ ์•ˆ์ •์ ์ธ ๊ตฌ์กฐ๋กœ, ์•ž์œผ๋กœ๋„ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ  ๋ฐœ์ „์˜ ๊ฒฌ๊ณ ํ•œ ๊ธฐ๋ฐ˜์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฐœ์ „์‚ฌ

๋‹ต๋ณ€ 0