Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

Kubernetes์— ๋ฐฐํฌํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ์ž‘๊ณ  ์•ˆ์ „ํ•œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
Docker ๋•๋ถ„์— ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์ด ๊ทธ ์–ด๋Š ๋•Œ๋ณด๋‹ค ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ด ๊ธฐ์ˆ ์€ ์‹œ์ž‘ํ•˜๊ธฐ์— ์ ํ•ฉํ•˜์ง€๋งŒ, ๊ธฐ๋ณธ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ทจ์•ฝ์ ์œผ๋กœ ๊ฐ€๋“ ์ฐฌ ๋Œ€ํ˜• ์ด๋ฏธ์ง€ ์ž‘์—…์ด ์•ˆ์ „ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Docker์˜ ๋Œ€๋ถ€๋ถ„ ์ด๋ฏธ์ง€๋Š” ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋กœ Debian ๋˜๋Š” Ubuntu๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋›ฐ์–ด๋‚œ ํ˜ธํ™˜์„ฑ๊ณผ ์†์‰ฌ์šด ์‚ฌ์šฉ์ž ์ง€์ •์„ ์ œ๊ณตํ•˜์ง€๋งŒ(Docker ํŒŒ์ผ์€ ๋‹จ ๋‘ ์ค„์˜ ์ฝ”๋“œ๋งŒ ์‚ฌ์šฉ) ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ์— ์ˆ˜๋ฐฑ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ์˜ ์ถ”๊ฐ€ ๋กœ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Go "hello-world" ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ node.js ํŒŒ์ผ์€ ์•ฝ 700MB์ธ ๋ฐ˜๋ฉด, ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํฌ๊ธฐ๋Š” ๋ช‡ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

๋”ฐ๋ผ์„œ ์ด ๋ชจ๋“  ์ถ”๊ฐ€ ์ž‘์—…๋Ÿ‰์€ ๋””์ง€ํ„ธ ๊ณต๊ฐ„์˜ ๋‚ญ๋น„์ด๋ฉฐ ๋ณด์•ˆ ์ทจ์•ฝ์ ๊ณผ ๋ฒ„๊ทธ๊ฐ€ ์ˆจ์–ด ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ์€์‹ ์ฒ˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ๋Š” ์ž‘์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋‘ ๋ฒˆ์งธ๋Š” ๋นŒ๋” ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ์ž‘์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์‚ฌ์šฉ ์ค‘์ธ ์–ธ์–ด๋‚˜ ์Šคํƒ์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ณด๋‹ค ํ›จ์”ฌ ์ž‘์€ ์›๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. node.js ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

Docker์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ node:8 ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” 670MB์ด๊ณ  node:8-alpine ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” 65MB, ์ฆ‰ 10๋ฐฐ ๋” ์ž‘์Šต๋‹ˆ๋‹ค. ๋” ์ž‘์€ Alpine ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. Alpine์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ˜ธํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— Docker ์‚ฌ์šฉ์ž๋“ค ์‚ฌ์ด์—์„œ ๋งค์šฐ ์ธ๊ธฐ๊ฐ€ ์žˆ๋Š” ์ž‘๊ณ  ๊ฐ€๋ฒผ์šด Linux ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค. ํ‘œ์ค€ Docker "๋…ธ๋“œ" ์ด๋ฏธ์ง€์™€ ๋‹ฌ๋ฆฌ "node:alpine"์€ ๋งŽ์€ ์„œ๋น„์Šค ํŒŒ์ผ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ฑฐํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•œ ํŒŒ์ผ๊ณผ ํ”„๋กœ๊ทธ๋žจ๋งŒ ๋‚จ๊น๋‹ˆ๋‹ค.

๋” ์ž‘์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋กœ ์ด๋™ํ•˜๋ ค๋ฉด Dockerfile์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ƒˆ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ด์ œ ์ด์ „ onbuild ์ด๋ฏธ์ง€์™€ ๋‹ฌ๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์— ๋ณต์‚ฌํ•˜๊ณ  ์ข…์†์„ฑ์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ Dockerfile์—์„œ ์ปจํ…Œ์ด๋„ˆ๋Š” node:alpine ์ด๋ฏธ์ง€๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  NPM ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ server.js๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

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

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

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

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ฝ”๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ƒ์„ฑ๋˜๊ณ  ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๋Š” ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋„๊ตฌ ์—†์ด ์ตœ์ข… ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒจํ‚ค์ง•๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ € onbuild ์ด๋ฏธ์ง€์—์„œ Alpine Linux๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ƒˆ Dockerfile์—์„œ ์ปจํ…Œ์ด๋„ˆ๋Š” golang:alpine ์ด๋ฏธ์ง€๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฝ”๋“œ์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ์†Œ์Šค ์ฝ”๋“œ์— ๋ณต์‚ฌํ•œ ๋‹ค์Œ ํ•ด๋‹น ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ปจํ…Œ์ด๋„ˆ๋Š” onbuild ์ปจํ…Œ์ด๋„ˆ๋ณด๋‹ค ํ›จ์”ฌ ์ž‘์ง€๋งŒ ์‹ค์ œ๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ ๊ธฐํƒ€ Go ๋„๊ตฌ๋ฅผ ์—ฌ์ „ํžˆ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ปดํŒŒ์ผ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์ถ”์ถœํ•˜์—ฌ ์ž์ฒด ์ปจํ…Œ์ด๋„ˆ์— ๋„ฃ์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ด Docker ํŒŒ์ผ์—์„œ ์ด์ƒํ•œ ์ ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ FROM ํ–‰์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ 4์ค„ ์„น์…˜์€ AS ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋‹จ๊ณ„์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด ์ด์ „ Dockerfile๊ณผ ์™„์ „ํžˆ ๋™์ผํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—๋Š” ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ƒˆ๋กœ์šด FROM ํ–‰์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ golang:alpine ์ด๋ฏธ์ง€ ๋Œ€์‹  Raw alpine์„ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Raw Alpine Linux์—๋Š” SSL ์ธ์ฆ์„œ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ HTTPS๋ฅผ ํ†ตํ•œ ๋Œ€๋ถ€๋ถ„์˜ API ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜๋ฏ€๋กœ ์ผ๋ถ€ ๋ฃจํŠธ CA ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์žฌ๋ฏธ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๋ฅผ ์ฒซ ๋ฒˆ์งธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋‘ ๋ฒˆ์งธ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋ณต์‚ฌํ•˜๋ ค๋ฉด ๋‘ ๋ฒˆ์งธ ์„น์…˜์˜ 5ํ–‰์— ์žˆ๋Š” COPY ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒŒ์ผ๋งŒ ๋ณต์‚ฌํ•˜๋ฉฐ Go ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋„๊ตฌ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋‹ค๋‹จ๊ณ„ Docker ํŒŒ์ผ์—๋Š” ํฌ๊ธฐ๊ฐ€ 12MB์— ๋ถˆ๊ณผํ•œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” 700MB์˜€๋˜ ์›๋ž˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์™€ ๋น„๊ตํ•˜์—ฌ ํฐ ์ฐจ์ด์ž…๋‹ˆ๋‹ค!
๋”ฐ๋ผ์„œ ์ž‘์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€์™€ ๋นŒ๋” ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ์ž‘์—… ์—†์ด ํ›จ์”ฌ ๋” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“œ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํƒ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€์™€ ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹ค์ œ๋กœ ์ธก์ • ๊ฐ€๋Šฅํ•œ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ? ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋งค์šฐ ํšจ๊ณผ์ ์ธ ๋‘ ๊ฐ€์ง€ ์˜์—ญ, ์ฆ‰ ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ํ‰๊ฐ€ํ•˜๋ ค๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์‚ฝ์ž…(ํ‘ธ์‹œ)ํ•œ ๋‹ค์Œ ๊ฑฐ๊ธฐ์—์„œ ๊ฒ€์ƒ‰(ํ’€)ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๊ธฐ๊ฐ„์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ๋” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋” ํฐ ์ปจํ…Œ์ด๋„ˆ์— ๋น„ํ•ด ๋šœ๋ ทํ•œ ์ด์ ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

Docker๋Š” ๋ ˆ์ด์–ด๋ฅผ ์บ์‹œํ•˜๋ฏ€๋กœ ํ›„์† ๋นŒ๋“œ๊ฐ€ ๋งค์šฐ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋งŽ์€ CI ์‹œ์Šคํ…œ์€ ๋ ˆ์ด์–ด๋ฅผ ์บ์‹œํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋จธ์‹  ์„ฑ๋Šฅ์— ๋”ฐ๋ผ 34์ดˆ์—์„œ 54์ดˆ๋กœ, ๋นŒ๋” ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ 23์ดˆ์—์„œ 28์ดˆ๋กœ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ์ž‘์—…์˜ ๊ฒฝ์šฐ ์ƒ์‚ฐ์„ฑ์€ 40~50% ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์ฝ”๋“œ๋ฅผ ๋ช‡ ๋ฒˆ์ด๋‚˜ ๋นŒ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š”์ง€ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”.

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋นŒ๋“œ๋œ ํ›„ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ์ด๋ฏธ์ง€(ํ‘ธ์‹œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€)๋ฅผ ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ํ‘ธ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Google Container Registry๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

Google Container Registry(GCR)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›์‹œ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋„คํŠธ์›Œํ‚น ๋น„์šฉ๋งŒ ์ง€๋ถˆํ•˜๊ณ  ์ถ”๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ๋น„์šฉ์€ ์—†์Šต๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ์ ์ด๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. GCR์€ ํ’€ ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋งŽ์€ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ go:onbuild๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Docker ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐ๋Š” ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ 15~48์ดˆ๊ฐ€ ์†Œ์š”๋˜๋ฉฐ, ๋” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•œ ๋™์ผํ•œ ์ž‘์—…์€ 14~16์ดˆ๊ฐ€ ์†Œ์š”๋˜๋ฉฐ, ์ƒ์‚ฐ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์ž‘์—… ์†๋„์˜ ์ด์ ์ด 3๋ฐฐ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋” ํฐ ์ปดํ“จํ„ฐ์˜ ๊ฒฝ์šฐ GCR์ด ์ด๋ฏธ์ง€ ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ „์—ญ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„์ด ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋ฏธ์ง€๋ฅผ ์ „ํ˜€ ๋กœ๋“œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ €์ „๋ ฅ ์ปดํ“จํ„ฐ์—์„œ๋Š” CPU๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ผ์œผํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์ ์€ ์—ฌ๊ธฐ์„œ ํ›จ์”ฌ ๋” ํฝ๋‹ˆ๋‹ค.

GCR์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋นŒ๋“œ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋กœ GCB(Google Container Builder)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ์‚ฐ์ ์ธ ๋จธ์‹ ๋ณด๋‹ค Build+Push ์ž‘์—… ๊ธฐ๊ฐ„์„ ๋‹จ์ถ•ํ•˜์—ฌ ํ›จ์”ฌ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํ˜ธ์ŠคํŠธ๋กœ ๋ณด๋‚ด๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฑฐ์˜ 2๋ฐฐ ๊ฐ€์†ํ™”๋ฉ๋‹ˆ๋‹ค. . ๋˜ํ•œ ๋งค์ผ 120๋ถ„์˜ ๋ฌด๋ฃŒ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์ถ• ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ฑ๋Šฅ ์ง€ํ‘œ์ธ Pull ์ปจํ…Œ์ด๋„ˆ ๊ฒ€์ƒ‰ ๋˜๋Š” ๋‹ค์šด๋กœ๋“œ ์†๋„๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ‘ธ์‹œ ์ž‘์—…์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ๋ณ„๋กœ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ’€ ํ”„๋กœ์„ธ์Šค์˜ ๊ธธ์ด๋Š” ์ „์ฒด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ์‹ฌ๊ฐํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์„ธ ๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์žˆ๊ณ  ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์‹คํŒจํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Google Kubernetes Engine๊ณผ ๊ฐ™์€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ๋“œ ๋…ธ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒˆ ๋…ธ๋“œ๋กœ ๊ต์ฒด๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ƒˆ ๋…ธ๋“œ๋Š” ์™„์ „ํžˆ ๋น„์–ด ์žˆ์œผ๋ฏ€๋กœ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•ด๋‹น ๋…ธ๋“œ๋กœ ๋Œ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ ์ž‘์—…์ด ์ถฉ๋ถ„ํžˆ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ „์ฒด ์‹œ๊ฐ„ ๋™์•ˆ ๋” ๋‚ฎ์€ ์„ฑ๋Šฅ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

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

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์ด ๋น„๊ต๋ฅผ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๊ฐ€์ ธ์˜ค๊ธฐ ์ž‘์—…์€ go:onbuild๋ฅผ ์‚ฌ์šฉํ•œ ๋™์ผํ•œ ์ž‘์—…๋ณด๋‹ค ๋จธ์‹ ์˜ ์ „๋ ฅ์— ๋”ฐ๋ผ 4~9๋ฐฐ ๋” ์ ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ๊ณต์œ ๋œ ์†Œํ˜• ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒˆ๋กœ์šด Kubernetes ๋…ธ๋“œ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์˜จ๋ผ์ธ ์ƒํƒœ๋กœ ์ „ํ™˜ํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

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

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

๊ทธ ๊ฒฐ๊ณผ๋Š” ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์†Œํ˜• ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” ์ค‘ํ˜• ์ทจ์•ฝ์  3๊ฐœ๋งŒ ๊ฐ์ง€๋˜์—ˆ๊ณ , ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” ์น˜๋ช…์  ์ทจ์•ฝ์  16๊ฐœ์™€ ๊ธฐํƒ€ ์ทจ์•ฝ์  376๊ฐœ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํฐ ์ปจํ…Œ์ด๋„ˆ์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๋ณด์•ˆ ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ จ์ด ์—†๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜์ง€๋„ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ๋žŒ๋“ค์ด ๊ณต๊ฒฉ ํ‘œ๋ฉด์ด ํฌ๋‹ค๊ณ  ๋งํ•  ๋•Œ ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ๊ทธ๋Ÿฐ ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ

์š”์ ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์— ์‹ค์ œ ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ ์ด์ ์„ ์ œ๊ณตํ•˜๋Š” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์ถ•ํ•˜์„ธ์š”.

Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€. ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” Kubernetes์˜ ๊ตฌ์„ฑ

์ผ๋ถ€ ๊ด‘๊ณ  ๐Ÿ™‚

์šฐ๋ฆฌ์™€ ํ•จ๊ป˜์žˆ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ธฐ์‚ฌ๊ฐ€ ๋งˆ์Œ์— ๋“œ์‹ญ๋‹ˆ๊นŒ? ๋” ์žฌ๋ฏธ์žˆ๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด? ์ฃผ๋ฌธํ•˜๊ฑฐ๋‚˜ ์นœ๊ตฌ์—๊ฒŒ ์ถ”์ฒœํ•˜์—ฌ ์šฐ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์‹ญ์‹œ์˜ค. $4.99๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์šฉ ํด๋ผ์šฐ๋“œ VPS, ๊ท€ํ•˜๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๊ฐ€ ๋ฐœ๋ช…ํ•œ ๊ณ ์œ ํ•œ ๋ณด๊ธ‰ํ˜• ์„œ๋ฒ„ ์•„๋‚ ๋กœ๊ทธ: VPS(KVM) E5-2697 v3(6์ฝ”์–ด) 10GB DDR4 480GB SSD 1Gbps์— ๋Œ€ํ•œ ์ „์ฒด ์ง„์‹ค ๋˜๋Š” ์„œ๋ฒ„ ๊ณต์œ  ๋ฐฉ๋ฒ•์€? (RAID1 ๋ฐ RAID10์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์ตœ๋Œ€ 24๊ฐœ ์ฝ”์–ด ๋ฐ ์ตœ๋Œ€ 40GB DDR4).

Dell R730xd๋Š” ์•”์Šคํ…Œ๋ฅด๋‹ด์˜ Equinix Tier IV ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ 2๋ฐฐ ๋” ์ €๋ ดํ•ฉ๋‹ˆ๊นŒ? ์—ฌ๊ธฐ์„œ ๋งŒ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV $199๋ถ€ํ„ฐ ๋„ค๋œ๋ž€๋“œ์—์„œ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ์ตœ์ € $99! ์— ๋Œ€ํ•ด ์ฝ๋‹ค ์ธํ”„๋ผ ๊ณต์‚ฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•. 730ํŽ˜๋‹ˆ์— 5์œ ๋กœ ์ƒ๋‹น์˜ Dell R2650xd E4-9000 vXNUMX ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค?

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€