Sidecar or ambient?

Sidecar ๋ชจ๋“œ์™€ Ambient ๋ชจ๋“œ ๋น„๊ต

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

Sidecar ๋ชจ๋“œ

Istio๋Š” 2017๋…„ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ ์‚ฌ์ด๋“œ์นด ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Sidecar ๋ชจ๋“œ๋Š” ์ž˜ ์ดํ•ด๋˜๊ณ  ์ฒ ์ €ํžˆ ๊ฒ€์ฆ๋˜์—ˆ์ง€๋งŒ ๋ฆฌ์†Œ์Šค ๋น„์šฉ๊ณผ ์šด์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฐํฌํ•˜๋Š” ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ์‚ฌ์ด๋“œ์นด๋กœ ์ฃผ์ž…๋œ Envoy ํ”„๋ก์‹œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ํ”„๋ก์‹œ๋Š” Layer 4์™€ Layer 7์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ambient ๋ชจ๋“œ

2022๋…„์— ์ถœ์‹œ๋œ Ambient ๋ชจ๋“œ๋Š” Sidecar ๋ชจ๋“œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ ํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Istio 1.22 ๊ธฐ์ค€์œผ๋กœ ๋‹จ์ผ ํด๋Ÿฌ์Šคํ„ฐ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ํ”„๋กœ๋•์…˜ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ Layer 4 ์ „์šฉ ๋…ธ๋“œ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ํ”„๋ก์‹œ๋ฉ๋‹ˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Layer 7 ๊ธฐ๋Šฅ์„ ์–ป๊ธฐ ์œ„ํ•ด Envoy ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•œ ๋ผ์šฐํŒ…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Sidecar์™€ Ambient ๋ชจ๋“œ ์„ ํƒ

์‚ฌ์šฉ์ž๋Š” ์ข…์ข… ์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ ๋ณด์•ˆ ํƒœ์„ธ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ ๋ฉ”์‹œ๋ฅผ ๋ฐฐํฌํ•œ ๋‹ค์Œ ํ•„์š”์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ L7 ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. Ambient ๋ฉ”์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ L7 ์ฒ˜๋ฆฌ ๋น„์šฉ์„ ์™„์ „ํžˆ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Sidecar
Ambient

ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ

์ „์ฒด Istio ๊ธฐ๋Šฅ ์„ธํŠธ

๋ณด์•ˆ

์ „์ฒด Istio ๊ธฐ๋Šฅ ์„ธํŠธ

๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ

์ „์ฒด Istio ๊ธฐ๋Šฅ ์„ธํŠธ

ํ™•์žฅ์„ฑ

์ „์ฒด Istio ๊ธฐ๋Šฅ ์„ธํŠธ

๋ฉ”์‹œ์— ์›Œํฌ๋กœ๋“œ ์ถ”๊ฐ€

๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•˜๊ณ  ๋ชจ๋“  Pod๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์—ฌ ์‚ฌ์ด๋“œ์นด ์ถ”๊ฐ€

์ ์ง„์  ๋ฐฐํฌ

์ด์ง„: ์‚ฌ์ด๋“œ์นด๊ฐ€ ์ฃผ์ž…๋˜๊ฑฐ๋‚˜ ์ฃผ์ž…๋˜์ง€ ์•Š์Œ

๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋ก์‹œ ๊ด€๋ฆฌ

๋ฆฌ์†Œ์Šค ํ™œ์šฉ

๋‚ญ๋น„; CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ฆฌ์†Œ์Šค๋Š” ๊ฐ ๊ฐœ๋ณ„ Pod์˜ ์ตœ์•…์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ํ”„๋กœ๋น„์ €๋‹๋˜์–ด์•ผ ํ•จ

ํ‰๊ท  ๋ฆฌ์†Œ์Šค ๋น„์šฉ

ํผ

ํ‰๊ท  ์ง€์—ฐ ์‹œ๊ฐ„ (p90/p99)

0.63ms-0.88ms

L7 ์ฒ˜๋ฆฌ ๋‹จ๊ณ„

2 (์†Œ์Šค ๋ฐ ๋Œ€์ƒ ์‚ฌ์ด๋“œ์นด)

๊ทœ๋ชจ์— ๋งž๋Š” ๊ตฌ์„ฑ

๊ฐ ์‚ฌ์ด๋“œ์นด์˜ ๋ฒ”์œ„๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๊ตฌ์„ฑ์„ ์ค„์—ฌ์•ผ ํ•จ

"์„œ๋ฒ„ ์šฐ์„ " ํ”„๋กœํ† ์ฝœ ์ง€์›

๊ตฌ์„ฑ ํ•„์š”

Kubernetes Job ์ง€์›

์‚ฌ์ด๋“œ์นด์˜ ๊ธด ์ˆ˜๋ช…์œผ๋กœ ์ธํ•ด ๋ณต์žกํ•ด์ง

๋ณด์•ˆ ๋ชจ๋ธ

๊ฐ€์žฅ ๊ฐ•๋ ฅ: ๊ฐ ์›Œํฌ๋กœ๋“œ์— ์ž์ฒด ํ‚ค๊ฐ€ ์žˆ์Œ

์†์ƒ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ Pod๊ฐ€ ๋ฉ”์‹œ ํ‚ค์— ์•ก์„ธ์Šค ์ œ๊ณต

์˜ˆ

์ง€์›

๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํฌํ•จํ•œ ์•ˆ์ •์ 

์ง€์›๋˜๋Š” ํ”Œ๋žซํผ

Kubernetes (๋ชจ๋“  CNI) ๊ฐ€์ƒ ๋จธ์‹ 

Layer 4์™€ Layer 7 ๊ธฐ๋Šฅ ๋น„๊ต

Layer 7์—์„œ ํ”„๋กœํ† ์ฝœ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋Š” Layer 4์—์„œ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ƒ๋‹นํžˆ ๋†’์Šต๋‹ˆ๋‹ค. ํŠน์ • ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ L4์—์„œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์„œ๋น„์Šค ๋ฉ”์‹œ๋ฅผ ํ›จ์”ฌ ๋” ๋‚ฎ์€ ๋น„์šฉ์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ

L4
L7

์•”ํ˜ธํ™”

Pod ๊ฐ„์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ mTLS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ฐ„ ์ธ์ฆ

SPIFFE, mTLS ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด. Istio๋Š” Pod์˜ ์„œ๋น„์Šค ๊ณ„์ • ID๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋‹จ๊ธฐ X.509 ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ฐ„ ๊ถŒํ•œ ๋ถ€์—ฌ

๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฐ ID ๊ธฐ๋ฐ˜ ์ •์ฑ… ๋“ฑ:

์ตœ์ข… ์‚ฌ์šฉ์ž ์ธ์ฆ

ํ•ด๋‹น ์—†์Œโ€”์‚ฌ์šฉ์ž๋ณ„ ์„ค์ •์„ ์ ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ตœ์ข… ์‚ฌ์šฉ์ž ๊ถŒํ•œ ๋ถ€์—ฌ

ํ•ด๋‹น ์—†์Œโ€”์œ„ ์ฐธ์กฐ.

๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ

L4
L7

๋กœ๊น…

๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ์ •๋ณด: ๋„คํŠธ์›Œํฌ 5ํŠœํ”Œ, ์ „์†ก/์ˆ˜์‹ ๋œ ๋ฐ”์ดํŠธ ๋“ฑ. Envoy ๋ฌธ์„œ ์ฐธ์กฐ.

์ถ”์ 

ํ˜„์žฌ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ํ–ฅํ›„ HBONE์œผ๋กœ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”ํŠธ๋ฆญ

TCP๋งŒ ํ•ด๋‹น (์ „์†ก/์ˆ˜์‹ ๋œ ๋ฐ”์ดํŠธ, ํŒจํ‚ท ์ˆ˜ ๋“ฑ).

ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ

L4
L7

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

์—ฐ๊ฒฐ ์ˆ˜์ค€์—์„œ๋งŒ ๊ฐ€๋Šฅ. TCP ํŠธ๋ž˜ํ”ฝ ์ „ํ™˜ ์ž‘์—… ์ฐธ์กฐ.

์„œํ‚ท ๋ธŒ๋ ˆ์ดํ‚น

TCP๋งŒ ํ•ด๋‹น.

์ด์ƒ ๊ฐ์ง€

์—ฐ๊ฒฐ ์„ค์ •/์‹คํŒจ ์‹œ.

์†๋„ ์ œํ•œ

์—ฐ๊ฒฐ ์„ค์ • ์‹œ L4 ์—ฐ๊ฒฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์†๋„ ์ œํ•œ, ์ „์—ญ ๋ฐ ๋กœ์ปฌ ์†๋„ ์ œํ•œ ์˜ต์…˜ ํฌํ•จ.

ํƒ€์ž„์•„์›ƒ

์—ฐ๊ฒฐ ์„ค์ •์—๋งŒ ํ•ด๋‹น (์—ฐ๊ฒฐ ์œ ์ง€๋Š” ์„œํ‚ท ๋ธŒ๋ ˆ์ดํ‚น ์„ค์ •์„ ํ†ตํ•ด ๊ตฌ์„ฑ).

์žฌ์‹œ๋„

์—ฐ๊ฒฐ ์„ค์ • ์žฌ์‹œ๋„

๊ฒฐํ•จ ์ฃผ์ž…

ํ•ด๋‹น ์—†์Œโ€”TCP ์—ฐ๊ฒฐ์—์„œ๋Š” ๊ฒฐํ•จ ์ฃผ์ž…์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํŠธ๋ž˜ํ”ฝ ๋ฏธ๋Ÿฌ๋ง

ํ•ด๋‹น ์—†์Œโ€”HTTP๋งŒ ํ•ด๋‹น

์ง€์›๋˜๋Š” ๊ธฐ๋Šฅ

Istio 1.22 ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ Ambient ๋ชจ๋“œ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ Alpha ์ƒํƒœ์ž…๋‹ˆ๋‹ค:

  • Sidecar์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ

  • Istio์˜ ํด๋ž˜์‹ API (VirtualService ๋ฐ DestinationRule)

  • ๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ ์„ค์น˜

  • DNS ํ”„๋ก์‹ฑ

  • IPv6/๋“€์–ผ ์Šคํƒ

  • SOCKS5 ์ง€์› (์•„์›ƒ๋ฐ”์šด๋“œ์šฉ)

๋‹ค์Œ ๊ธฐ๋Šฅ์€ ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค:

  • ์ œ์–ด๋œ ์ด๊ทธ๋ ˆ์Šค ํŠธ๋ž˜ํ”ฝ

  • ๋‹ค์ค‘ ๋„คํŠธ์›Œํฌ ์ง€์›

  • VM ์ง€์›

ShareRewrite

Last updated