์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

Last reviewed 2024-12-13 UTC

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

๋„ค์ž„์ŠคํŽ˜์ด์Šค

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

์„œ๋น„์Šค ๋…ธ์ถœ

์„œ๋น„์Šค๋Š” GKE Gateway Controller๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. GKE Gateway Controller๋Š” ๋ฉ€ํ‹ฐ ํด๋Ÿฌ์Šคํ„ฐ, ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๊ตฌ์„ฑ์—์„œ Cloud Load Balancing์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Cloud Load Balancing์€ Google์˜ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง์€ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ์• ๋‹ˆ์บ์ŠคํŠธ IP ์ฃผ์†Œ๋ฅผ ์„œ๋น„์Šค์— ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํด๋ผ์ด์–ธํŠธ ์•ก์„ธ์Šค๋Š” HTTPS ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ HTTP ์š”์ฒญ์€ HTTPS๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœ ์ธ์ฆ์„œ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋Š” Cloud Armor ๋ฐ Cloud CDN์— ์˜ํ•ด ์ถ”๊ฐ€๋กœ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์„œ๋น„์Šค๊ฐ€ ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋˜๋Š” ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋˜๋Š” ์ฒญ์‚ฌ์ง„ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

Cloud Service Mesh

์ฒญ์‚ฌ์ง„์€ ์„œ๋น„์Šค ๊ฐ„์˜ ๋ชจ๋“  ํ†ต์‹ ์— ์ƒํ˜ธ ์ธ์ฆ ๋ฐ ์Šน์ธ์„ ์œ„ํ•ด Cloud Service Mesh๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฐํฌ์˜ ๊ฒฝ์šฐ Cloud Service Mesh๋Š” CA Service๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TLS ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด ํ”ผ์–ด๋ฅผ ์ธ์ฆํ•˜๊ณ  ์Šน์ธ๋œ ํด๋ผ์ด์–ธํŠธ๋งŒ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์— ์ƒํ˜ธ TLS(mTLS)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋น„์Šค ๊ฐ„ ๋ชจ๋“  TCP ํ†ต์‹ ์ด ์ „์†ก ์ค‘์— ์•”ํ˜ธํ™”๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ฉ”์‹œ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์ธ๊ทธ๋ ˆ์Šค ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ ์ฒญ์‚ฌ์ง„์€ GKE Gateway Controller๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐ ์„œ๋น„์Šค

๋ถ„์‚ฐ ์„œ๋น„์Šค๋Š” ์—ฌ๋Ÿฌ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋™์ผํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ์‹คํ–‰๋˜๋Š” Kubernetes ์„œ๋น„์Šค๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜ ์ด์ƒ์˜ GKE ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋„ ๋‚˜๋จธ์ง€ ์ •์ƒ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋กœ๋“œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ถ„์‚ฐ ์„œ๋น„์Šค๋Š” ์ž‘๋™ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. Cloud Service Mesh๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์— ๋ถ„์‚ฐ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ™˜๊ฒฝ์˜ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค ๊ฐ„์— ๋ ˆ์ด์–ด 4 ๋ฐ ๋ ˆ์ด์–ด 7 ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ Kubernetes ์„œ๋น„์Šค๊ฐ€ ๋‹จ์ผ ๋…ผ๋ฆฌ ์„œ๋น„์Šค๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„ ํŠธ๋ž˜ํ”ฝ์€ ๋ฆฌ์ „ ์žฅ์• ๋กœ ์ธํ•ด ๋ฆฌ์ „ ๋‚ด ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ID

GKE์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋น„์Šค์—๋Š” ์ด์™€ ์—ฐ๊ฒฐ๋œ ID๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒญ์‚ฌ์ง„์€ Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์ด Google Cloud ์„œ๋น„์Šค ๊ณ„์ • ์—ญํ• ์„ ํ•˜๋„๋ก GKE์šฉ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ํ™˜๊ฒฝ ๋‚ด์— ์žˆ๋Š” ๋ถ„์‚ฐ ์„œ๋น„์Šค์˜ ๊ฐ ์ธ์Šคํ„ด์Šค์—๋Š” ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๊ณตํ†ต ID๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Google Cloud API์— ์•ก์„ธ์Šคํ•  ๋•Œ Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์„œ๋น„์Šค๋Š” Google Cloud ์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ ์ž๋™ ์ธ์ฆ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์„œ๋น„์Šค์—๋Š” ์„œ๋น„์Šค ์ž‘๋™์— ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ๊ถŒํ•œ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„