ํ•œ ์Šคํƒ€ํŠธ์—…์ด docker-compose์—์„œ Kubernetes๋กœ ์ „ํ™˜ํ•œ ๋ฐฉ๋ฒ•

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

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๊ณ  ๋ฌด์Šจ ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ๋‚˜์š”? ๊ทธ๋ฆฌ๊ณ  ๊ด‘๊ณ  ๋ถ„์•ผ์—์„œ ์•ฝ 2๋…„์˜ ๊ฐœ๋ฐœ ์ด๋ ฅ์„ ๊ฐ€์ง„ ์Šคํƒ€ํŠธ์—… ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์— ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์„œ๋ฒ„ ๋ถ€๋ถ„์€ Symfony + ์•ฝ๊ฐ„์˜ Laravel, Django ๋ฐ ๊ธฐ๋ณธ NodeJ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋Š” ์ฃผ๋กœ ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ์šฉ API(ํ”„๋กœ์ ํŠธ์— 3๊ฐœ๊ฐ€ ์žˆ์Œ)์™€ IOS์šฉ ์ž์ฒด SDK(๊ณ ๊ฐ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‚ด์žฅ๋จ)๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋™์ผํ•œ ๊ณ ๊ฐ์˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹ค์–‘ํ•œ ๋Œ€์‹œ๋ณด๋“œ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์„œ๋น„์Šค๋Š” ์ฒ˜์Œ์— dockerized๋˜์—ˆ์œผ๋ฉฐ docker-compose์—์„œ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค, docker-compose๋Š” ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ์ž์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ, ํ…Œ์ŠคํŠธ ์„œ๋ฒ„, ์„œ๋น„์Šค ๊ตฌ์ถ• ๋ฐ ํ…Œ์ŠคํŠธ ์‹œ ํŒŒ์ดํ”„๋ผ์ธ ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” Google Kubernetes Engine(GKE)์ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์‹œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด GKE๋ฅผ ์™„์ „ํžˆ ๊ตฌ์„ฑํ–ˆ๋Š”๋ฐ, ๋‹น์‹œ์—๋Š” ๊ฝค ๋น ๋ฅด๊ณ  ํŽธ๋ฆฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” GKE์—์„œ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋งŒ ์ž๋™ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํžˆ๋ณด๊ธฐ