What is Istio?

Istio๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

  • ์ƒํ˜ธ TLS ์•”ํ˜ธํ™”, ๊ฐ•๋ ฅํ•œ ID ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ์•ˆ์ „ํ•œ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ๋ณด์žฅ

  • HTTP, gRPC, WebSocket ๋ฐ TCP ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ž๋™ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

  • ํ’๋ถ€ํ•œ ๋ผ์šฐํŒ… ๊ทœ์น™, ์žฌ์‹œ๋„, ์žฅ์•  ์กฐ์น˜ ๋ฐ ๊ฒฐํ•จ ์ฃผ์ž…์„ ํ†ตํ•œ ํŠธ๋ž˜ํ”ฝ ๋™์ž‘์˜ ์„ธ๋ฐ€ํ•œ ์ œ์–ด

  • ์•ก์„ธ์Šค ์ œ์–ด, ์†๋„ ์ œํ•œ ๋ฐ ํ• ๋‹น๋Ÿ‰์„ ์ง€์›ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธํ˜• ์ •์ฑ… ๊ณ„์ธต ๋ฐ ๊ตฌ์„ฑ API

  • ํด๋Ÿฌ์Šคํ„ฐ ์ง„์ž… ๋ฐ ์ง„์ถœ์„ ํฌํ•จํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ž๋™ ๋ฉ”ํŠธ๋ฆญ, ๋กœ๊ทธ ๋ฐ ์ถ”์ 

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

์ž‘๋™ ๋ฐฉ์‹

Istio๋Š” ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๊ตฌ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์‹ ๊ธฐ๋Šฅ์„ ํญ๋„“๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์›ํ•˜๋Š” ๊ตฌ์„ฑ๊ณผ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ทฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋™์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ณ , ๊ทœ์น™์ด๋‚˜ ํ™˜๊ฒฝ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ์€ ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ฉ”์‹œ๊ฐ€ ์—†์œผ๋ฉด ๋„คํŠธ์›Œํฌ๋Š” ์ „์†ก๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ํŠธ๋ž˜ํ”ฝ ์œ ํ˜•์ด๋‚˜ ์ถœ๋ฐœ์ง€ ๋˜๋Š” ๋ชฉ์ ์ง€์— ๋”ฐ๋ผ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.Istio๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:์‚ฌ์ด๋“œ์นด ๋ชจ๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ pod์™€ ํ•จ๊ป˜ Envoy ํ”„๋ก์‹œ๋ฅผ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ VM์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•ฐ๋น„์–ธํŠธ ๋ชจ๋“œ๋Š” ๋…ธ๋“œ๋‹น Layer 4 ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์„ ํƒ์ ์œผ๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋‹น Envoy ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Layer 7 ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Last updated