ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด Cloud Service Mesh ๊ธฐ๋ณธ ์š”๊ฑด

์ด ํŽ˜์ด์ง€์—์„œ๋Š” GKE Enterprise ๋ผ์ด์„ ์Šค, ํด๋Ÿฌ์Šคํ„ฐ ์š”๊ตฌ์‚ฌํ•ญ, Fleet ์š”๊ตฌ์‚ฌํ•ญ, ์ผ๋ฐ˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ฐ™์€ Google Cloud์™ธ๋ถ€ Kubernetes ์›Œํฌ๋กœ๋“œ์— ๋Œ€ํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด Cloud Service Mesh ์„ค์น˜ ๊ธฐ๋ณธ ์š”๊ฑด๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Cloud ํ”„๋กœ์ ํŠธ

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”.

GKE Enterprise ๋ผ์ด์„ ์Šค

Cloud Service Mesh๋ฅผ ์˜จํ”„๋ ˆ๋ฏธ์Šค, AWS์šฉ GKE, Amazon EKS, Azure์šฉ GKE, Microsoft AKS์— ์„ค์น˜ํ•˜๋ ค๋ฉด GKE Enterprise ๊ณ ๊ฐ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Cloud Service Mesh๊ฐ€ ์ด๋ฏธ GKE Enterprise ๊ฐ€๊ฒฉ ์ฑ…์ •์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ GKE Enterprise ๊ณ ๊ฐ์—๊ฒŒ๋Š” ๋ณ„๋„๋กœ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GKE Enterprise ๊ฐ€๊ฒฉ ์ฑ…์ • ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ผ๋ฐ˜ ์š”๊ตฌ์‚ฌํ•ญ

  • ์„œ๋น„์Šค ๋ฉ”์‹œ์— ํฌํ•จํ•˜๋ ค๋ฉด ์„œ๋น„์Šค ํฌํŠธ์˜ ์ด๋ฆ„์ด ์ง€์ •๋˜์–ด์•ผ ํ•˜๋ฉฐ ์ด๋ฆ„์€ name: protocol[-suffix] ๋ฌธ๋ฒ•์—์„œ ํฌํŠธ ํ”„๋กœํ† ์ฝœ์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋Œ€๊ด„ํ˜ธ๋Š” ๋Œ€์‹œ๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋Š” ์„ ํƒ์  ์„œํ”ฝ์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ํฌํŠธ ์ด๋ฆ„ ์ง€์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์กฐ์ง์—์„œ ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“  ๊ฒฝ์šฐ ๊ฒฝ๊ณ„์— Cloud Service Mesh ์ธ์ฆ๊ธฐ๊ด€ ์„œ๋น„์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— Cloud Service Mesh ์ธ์ฆ๊ธฐ๊ด€ ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • istio-proxy ์‚ฌ์ด๋“œ์นด ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋ณธ ๋ฆฌ์†Œ์Šค ํ•œ๋„๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ(OOM) ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ ๊ฐ’์ด ๊ธฐ๋ณธ๊ฐ’๋ณด๋‹ค ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Google Cloud ํ”„๋กœ์ ํŠธ์—๋Š” ํ•˜๋‚˜์˜ ๋ฉ”์‹œ๋งŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์š”๊ตฌ์‚ฌํ•ญ

  • Cloud Service Mesh๋ฅผ ์„ค์น˜ํ•˜๋Š” ์‚ฌ์šฉ์ž ํด๋Ÿฌ์Šคํ„ฐ์— ์ตœ์†Œ 4๊ฐœ์˜ vCPU, 15GB ๋ฉ”๋ชจ๋ฆฌ, 4๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ„์ „์ด ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์— ๋‚˜์—ด๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • Cloud Service Mesh๋ฅผ ์„ค์น˜ํ•  ํด๋ผ์ด์–ธํŠธ ๋จธ์‹ ์ด API ์„œ๋ฒ„์— ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • CA ์„œ๋น„์Šค(์˜ˆ: meshca.googleapis.com ๋ฐ privateca.googleapis.com)์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํฌ๋“œ์— ์‚ฌ์ด๋“œ์นด๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ช…์‹œ์  CONNECT ๊ธฐ๋ฐ˜ HTTPS ํ”„๋ก์‹œ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌต์‹œ์  ๊ทœ์น™์„ ์ฐจ๋‹จํ•˜๋Š” ์ด๊ทธ๋ ˆ์Šค ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์„ค์ •๋œ ๊ณต๊ฐœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ๊ณต๊ฐœ Google API์— ์—ฐ๊ฒฐํ•˜๋„๋ก HTTP/HTTPS ๋ฐ DNS ๊ทœ์น™์„ ๊ตฌ์„ฑํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Fleet ์š”๊ตฌ์‚ฌํ•ญ

๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ Fleet์— ๋“ฑ๋กํ•ด์•ผ ํ•˜๋ฉฐ Fleet ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๊ฒฝ์šฐ asmcli์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋“ฑ๋กํ•˜๋„๋ก ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Google Cloud์™ธ๋ถ€์˜ GKE ํด๋Ÿฌ์Šคํ„ฐ: (ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด Cloud Service Mesh์— ์ ์šฉ) VMware์šฉ Google Distributed Cloud(์†Œํ”„ํŠธ์›จ์–ด ์ „์šฉ), ๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ Google Distributed Cloud(์†Œํ”„ํŠธ์›จ์–ด ์ „์šฉ), AWS์šฉ GKE, Azure์šฉ GKE๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ์‹œ ํ”„๋กœ์ ํŠธ Fleet์— ์ž๋™์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค. GKE Enterprise 1.8๋ถ€ํ„ฐ ์ด๋Ÿฌํ•œ ํด๋Ÿฌ์Šคํ„ฐ ์œ ํ˜•์€ ๋ชจ๋‘ ๋“ฑ๋ก ์‹œ Fleet ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์— ๋“ฑ๋ก๋œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” GKE Enterprise 1.8๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋ฉด Fleet ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
  • Amazon EKS ํด๋Ÿฌ์Šคํ„ฐ: (ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด Cloud Service Mesh์— ์ ์šฉ) ํด๋Ÿฌ์Šคํ„ฐ์— ๊ณต๊ฐœ IAM OIDC ID ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ IAM OIDC ์ œ๊ณต์—…์ฒด ๋งŒ๋“ค๊ธฐ์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ ์ œ๊ณต์—…์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•„์š”ํ•˜๋ฉด ์ œ๊ณต์—…์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

asmcli install์„ ์‹คํ–‰ํ•  ๋•Œ Fleet ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์•„์ง ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ asmcli์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

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