ํ‘œ์ค€ ์„œ๋น„์Šค

์ฐธ๊ณ : ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” Cloud Service Mesh ๋ฒ„์ „ 1.6.8 ์ด์ƒ์—์„œ ์ž๋™์œผ๋กœ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Cloud Service Mesh์˜ ํ‘œ์ค€ ์„œ๋น„์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ์ค€ ์„œ๋น„์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Cloud Service Mesh 1.6.8์€ ํ”„๋กœ๋•์…˜ ์›Œํฌ๋กœ๋“œ๋ฅผ ๊ด€์ฐฐํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ๋‹จ์ผ ์„œ๋น„์Šค๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ , ์•„ํ‚คํ…์ณ ๋ชจ๋ธ์ธ ํ‘œ์ค€ ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์›Œํฌ๋กœ๋“œ๋Š” ์—ฌ๋Ÿฌ ํด๋Ÿฌ์Šคํ„ฐ, ๋‹ค์–‘ํ•œ ๋ฐฑ์—”๋“œ ํ”Œ๋žซํผ, ๋‹ค์–‘ํ•œ ์Šคํ‚ค๋งˆ์™€ ๊ตฌ์„ฑ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes ์‚ฌ์šฉ์ž: ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” Kubernetes '์•ฑ' ๊ฐœ๋… ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ CRD์™€ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค ์‚ฌ์šฉ์ž: ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” App Engine ์„œ๋น„์Šค ๋ฐ Cloud Run ์„œ๋น„์Šค ๊ฐœ๋…๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์ฐจ์ด์ ์€ Google ์„œ๋ฒ„๋ฆฌ์Šค ์„œ๋น„์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฆฌ์ „ ์„œ๋น„์Šค์ด์ง€๋งŒ ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” ์ „์—ญ/๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์ถ”์ƒํ™”๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ชจ๋‘ ํ‘œ์ค€ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ์—์„œ ๋ชจ๋‘ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค์˜ ์ƒˆ ๋ฒ„์ „ ๋ฐฐํฌ
  • ์„œ๋น„์Šค Foo์—์„œ ํŠธ๋ž˜ํ”ฝ์„ ๋„ˆ๋ฌด ๋งŽ์ด ์ „์†กํ•ด์„œ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” ๋‹จ์ผ ๋ฉ”์‹œ ๋‚ด์— ์กด์žฌํ•˜๋ฏ€๋กœ Cloud Service Mesh์˜ ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” Fleet ๋ฐ Google Cloudํ”„๋กœ์ ํŠธ(๊ฐ๊ฐ ๋ฉ”์‹œ์™€ ์ผ๋Œ€์ผ๋กœ ๋Œ€์‘) ๋‚ด์—์„œ๋„ ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์›Œํฌ๋กœ๋“œ๋Š” ํ•˜๋‚˜์˜ ํ‘œ์ค€ ์„œ๋น„์Šค์˜ ์ผ๋ถ€๋กœ๋งŒ ํ—ˆ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ๊ทธ๋ฃน์—์„œ ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€ ์„œ๋น„์Šค์˜ ์ „์ฒด ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ IP ์ฃผ์†Œ
  • ๋„คํŠธ์›Œํฌ
  • ๋„คํŠธ์›Œํฌ ๋ฐ ๋ณด์•ˆ ์ •์ฑ…
  • ๋ผ์šฐํŒ… ๋ฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
  • VM ๋ฐ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€
  • ์‹ค์ œ ๋˜๋Š” ๊ฐ€์ƒ ์ธํ”„๋ผ
  • ์ง€๋ฆฌ์  ๋ฆฌ์ „
  • CI/CD ์‹œ์Šคํ…œ
  • ์†Œ์Šค ์ฝ”๋“œ
  • ์›๊ฒฉ ๋ถ„์„
  • ์„œ๋น„์Šค ์ˆ˜์ค€ ๋ชฉํ‘œ ๋ฐ ์•Œ๋ฆผ

Services ํŽ˜์ด์ง€์—์„œ ๊ฐ ์„œ๋น„์Šค์˜ ์šด์˜ ์„ธ๋ถ€์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€ ์„œ๋น„์Šค ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ์ œํ•œ์‚ฌํ•ญ

ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” Cloud Service Mesh ๋ฒ„์ „ 1.6.8 ์ด์ƒ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” ๋‹จ์ผ Kubernetes/Istio ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์•ˆ์— ์žˆ์œผ๋ฉฐ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฒฝ๊ณ„๋ฅผ ๋„˜์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€ ์„œ๋น„์Šค์— ์ƒ์œ„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋‚ด์—์„œ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ‘œ์ค€ ์„œ๋น„์Šค ์ •์˜๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

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

๋”ฐ๋ผ์„œ ํ‘œ์ค€ ์„œ๋น„์Šค์˜ ๊ณ ์œ  ID๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

mesh id + namespace + canonical name.

๋ฒ„์ „

๋ฒ„์ „์ด๋ž€ ์„œ๋น„์Šค์˜ ์—ฌ๋Ÿฌ '๋ฒ„์ „' ๋˜๋Š” '์ถœ์‹œ'๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ  ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์˜ ๋‹จ๊ณ„์  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ ์›Œํฌ๋กœ๋“œ์— 'ํ‘œ์ค€ ๋ฒ„์ „'์œผ๋กœ ๋ผ๋ฒจ์„ ์ง€์ •ํ•˜์—ฌ ํ‘œ์ค€ ์„œ๋น„์Šค ๋ฒ„์ „์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ผ๋ฒจ์€ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ž„์˜์˜ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ผ๋ฒจ์ด ์ž๋™์œผ๋กœ ์„ค์ •๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š” CI/CD ์‹œ์Šคํ…œ์—์„œ ๋ผ๋ฒจ์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ผ๋ฒจ ์„ค์ •์— ๋Œ€ํ•œ ์•ˆ๋‚ด๋Š” ํ‘œ์ค€ ์„œ๋น„์Šค ์ •์˜๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฌ๋Ÿฌ ๋ฒ„์ „์ด ๋™์‹œ์— ํ”„๋กœ๋•์…˜ ๋‹จ๊ณ„์— ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์—์„œ ์ƒˆ ๋ฐ”์ด๋„ˆ๋ฆฌ, ์ƒˆ ๊ตฌ์„ฑ ๋˜๋Š” ๋‘˜ ๋‹ค์˜ ์ ์ง„์  ์ถœ์‹œ ์ด ๊ฒฝ์šฐ ์ „ํ™˜ํ•˜๋Š” ๋™์•ˆ ์ด์ „ ๋ฒ„์ „๊ณผ ์ƒˆ ๋ฒ„์ „์ด ๋ชจ๋‘ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค์˜ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์ด ๋‹ค์šด์ŠคํŠธ๋ฆผ ํ˜ธ์ถœ์ž์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์— ๋…ธ์ถœ๋˜์–ด ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” 'A/B ํ…Œ์ŠคํŠธ' ๋˜๋Š” '์‹ค์‹œ๊ฐ„ ์‹คํ—˜'

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