Kubernetes

๐Ÿ”ญKubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‰ฝ๊ณ  ๊ฐ€๋ณ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€?

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ธ ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „ 3๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

2024.09.30 | ์กฐํšŒ 90 |
0
|

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, DevOps ์†Œ์‹๊ณผ ๊ธฐ์ˆ  ์ง€์‹์„ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ํ•ด๋“œ๋ฆฌ๋Š” DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

Kubernetes์˜ ๊ฒฝ๋Ÿ‰ํ™” ํ”„๋กœ์ ํŠธ๋Š” ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ๊ตฌ์ถ• ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
Kubernetes์˜ ๊ฒฝ๋Ÿ‰ํ™” ํ”„๋กœ์ ํŠธ๋Š” ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ๊ตฌ์ถ• ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Kubernetes๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฒ˜์Œ๋ถ€ํ„ฐ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์„ค์น˜ ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ , ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•์— ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ์š”๊ตฌ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์–ด๋ ค์›€์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€๋ณ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” Kubernetes์˜ ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „๋“ค์ด ๋งŽ์ด ๋‚˜์˜ค๊ณ  ์žˆ๋Š”๋ฐ์š”.

์˜ค๋Š˜์€ ์ด๋Ÿฌํ•œ Kubernetes ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „์ธ minikube, K3s, k0s์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

โœจ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ Kubernetes ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ• ๊ฐ€๋Šฅํ•œ minikube

minikube๋Š” macOS, Linux, Windows ๋กœ์ปฌ ํ™˜๊ฒฝ์— Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ํˆด์ž…๋‹ˆ๋‹ค.

minikube๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Docker์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์„ ์ด์šฉํ•ด์„œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋กœ์ปฌ์— ๋ฐฐํฌ ํ›„ ์ž‘๋™์‹œํ‚ค๋Š”๋ฐ์š”.

์ตœ์‹  Kubernetes ๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „์„ ๊พธ์ค€ํžˆ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด Kubernetes ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

macOS, Linux, Windows ์šด์˜์ฒด์ œ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š” Cross-platform์ธ ๊ฒƒ๋„ minikube์˜ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

minikube๋ฅผ CLI์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๊น”๋”ํ•œ ์ด๋ชจํ‹ฐ์ฝ˜๋“ค์ด ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. 
minikube๋ฅผ CLI์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๊น”๋”ํ•œ ์ด๋ชจํ‹ฐ์ฝ˜๋“ค์ด ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. 

๋‹ค๋งŒ, ์ด๋ฒˆ์— ์‚ดํŽด๋ณผ ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „ ์ค‘์—์„  ๊ฐ€์žฅ ๋งŽ์€ ๋ฆฌ์†Œ์Šค(2 CPU / 2GB RAM)๊ฐ€ ํ•„์š”ํ•˜๊ณ  Docker๋‚˜ Hyper-V์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ํˆด ํ˜น์€ ๊ฐ€์ƒ ๋จธ์‹ ์ด ๋จผ์ € ์ค€๋น„๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

minikube๋Š” Kubernetes๋ฅผ ํ•™์Šตํ•˜์‹œ๋Š” ๋ถ„๋“ค์—๊ฒŒ ์‹ค์Šต ํ™˜๊ฒฝ์œผ๋กœ ์ถ”์ฒœํ•ด๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š” ํˆด์ธ๋ฐ์š”. ๋ฌผ๋ก  Kubernetes ๊ด€๋ จ ๊ธฐ๋Šฅ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ํ™˜๊ฒฝ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

minikube ์„ค์น˜ ์•ˆ๋‚ด ํŽ˜์ด์ง€: ๋งํฌ

 

๐Ÿ’ซ๋” ๊ฐ€๋ฒผ์šด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•ด์ฃผ๋Š” K3S์™€ K0S

K3S์™€ K0S๋Š” ๊ทธ ์ด๋ฆ„์—์„œ๋ถ€ํ„ฐ K8S๋ณด๋‹ค ๊ฐ€๋ณ๋‹ค๊ณ  ์–ดํ•„ํ•ฉ๋‹ˆ๋‹ค.
K3S์™€ K0S๋Š” ๊ทธ ์ด๋ฆ„์—์„œ๋ถ€ํ„ฐ K8S๋ณด๋‹ค ๊ฐ€๋ณ๋‹ค๊ณ  ์–ดํ•„ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Kubernetes์˜ ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ์ง€ํ–ฅํ•˜๋Š” K3S์™€ K0S์ž…๋‹ˆ๋‹ค.

Kubernetes๋ฅผ ์ค„์—ฌ์„œ ์ผ์ปซ๋Š” k8s์™€ ๋น„๊ตํ•ด๋ณด๋ฉด, ์ด ํ”„๋กœ์ ํŠธ๋“ค์˜ ์ด๋ฆ„(K3S, K0S)์—์„œ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ์ง€ํ–ฅํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋Š๋‚„ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

์ด ๋‘ ํ”„๋กœ์ ํŠธ๋“ค์€ ๋ชจ๋‘ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ์— ํ•„์ˆ˜์ ์ธ ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ ๊ฐ„์ถ”๋ ค์„œ ๋‹จ์ผ ํŒŒ์ผ๋กœ ์„ค์น˜ ๋ฐ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์†Œ์Šค ๊ฒฝ๋Ÿ‰ํ™”์™€ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ๊ฐ„์†Œํ™”๋ฅผ ๋ชจ๋‘ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด Kubernetes๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ etcd๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”. K3S์™€ K0S๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ์œ„ํ•ด etcd๋ณด๋‹ค ๋” ๊ฐ€๋ฒผ์šด sqlite3๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  etcd๋‚˜ MySQL ๊ฐ™์€ ๋‹ค๋ฅธ ์ €์žฅ์†Œ๋„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ๊พ€ํ•œ K3S์™€ K0S์˜ ์ตœ์†Œ ์š”๊ตฌ์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • K3S: 1 CPU / 512MB RAM
  • K0S: 1 CPU / 1GB RAM

๋‘ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘ minikube์˜ ์ตœ์†Œ ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ ˆ๋ฐ˜ ์ˆ˜์ค€์ด์ฃ .

๊ทธ๋ž˜์„œ K3S์™€ K0S ๋ชจ๋‘ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ ํ™˜๊ฒฝ์—๋„ ์ ํ•ฉํ•˜์ง€๋งŒ, ์ ์€ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ๋•์— IoT ํ™˜๊ฒฝ์—๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”.

๋‹ค๋งŒ ๋‘ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘ ๋‹จ์ผ ํŒŒ์ผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ž‘๋™์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ˜„์žฌ Linux ๊ณ„์—ด ์šด์˜์ฒด์ œ๋งŒ ๊ณต์‹ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

K3S์™€ K0S๋Š” Linux ํ™˜๊ฒฝ์— ์ต์ˆ™ํ•˜์‹œ๋ฉด์„œ Kubernetes ๊ฐœ๋ฐœ ๋˜๋Š” ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์ด ํ•„์š”ํ•˜์‹  ๋ถ„๋“ค์—๊ฒŒ ์ถ”์ฒœํ•ด๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

K3S ์„ค์น˜ ์•ˆ๋‚ด ํŽ˜์ด์ง€: ๋งํฌ

K0S ์„ค์น˜ ์•ˆ๋‚ด ํŽ˜์ด์ง€: ๋งํฌ

 

๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  Kubernetes์˜ ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „๋“ค์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค.

Kubernetes๋ฅผ ๊ฐœ์ธ์ ์œผ๋กœ ์‹ค์Šตํ•˜๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ธฐ์—” ์ค€๋น„ํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋งŽ์•„์„œ ์‰ฝ์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

๊ทธ๋Ÿด ๋• ์˜ค๋Š˜ ์†Œ๊ฐœํ•ด๋“œ๋ฆฐ ๊ฒฝ๋Ÿ‰ํ™” ๋ฒ„์ „์„ ํ•œ๋ฒˆ ๊ณ ๋ คํ•ด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ์ข‹์„ ๋“ฏํ•ฉ๋‹ˆ๋‹ค. 

ํ˜น์‹œ ์ด๋ฒˆ ๋‚ด์šฉ ๊ด€๋ จํ•ด์„œ ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฉ”์ผ๋ฆฌ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.๐Ÿ˜€

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๊ตฌ๋…์ž๋‹˜ ๐Ÿ˜บ

 

๐Ÿ”—References

 

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !
ยฉ 2024 DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์„œ๋น„์Šค ์†Œ๊ฐœ์„œ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€