Sidecar or ambient?
Last updated
Last updated
Istio ์๋น์ค ๋ฉ์๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์ธ๊ณผ ์ปจํธ๋กค ํ๋ ์ธ์ผ๋ก ๋๋ฉ๋๋ค.๋ฐ์ดํฐ ํ๋ ์ธ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ๋ชจ๋ ๋คํธ์ํฌ ํต์ ์ ์ค์ฌํ๊ณ ์ ์ดํ๋ ํ๋ก์ ์งํฉ์ ๋๋ค. ๋ํ ๋ฉ์์ ๋ชจ๋ ํธ๋ํฝ์ ๋ํ ์๊ฒฉ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ๋ณด๊ณ ํฉ๋๋ค.์ปจํธ๋กค ํ๋ ์ธ์ ๋ฐ์ดํฐ ํ๋ ์ธ์ ํ๋ก์๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ตฌ์ฑํฉ๋๋ค.Istio๋ ๋ ๊ฐ์ง ์ฃผ์ ๋ฐ์ดํฐ ํ๋ ์ธ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค:Sidecar ๋ชจ๋๋ ํด๋ฌ์คํฐ์์ ์์ํ๋ ๊ฐ Pod์ ํจ๊ป Envoy ํ๋ก์๋ฅผ ๋ฐฐํฌํ๊ฑฐ๋ VM์์ ์คํ๋๋ ์๋น์ค์ ํจ๊ป ์คํ๋ฉ๋๋ค. Ambient ๋ชจ๋๋ ๋ ธ๋๋น Layer 4 ํ๋ก์๋ฅผ ์ฌ์ฉํ๊ณ , ์ ํ์ ์ผ๋ก Layer 7 ๊ธฐ๋ฅ์ ์ํด ๋ค์์คํ์ด์ค๋น Envoy ํ๋ก์๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ ๋ชจ๋๋ ์๋ก ์ํธ ์ด์ฉํ ์ ์์ผ๋ฉฐฮฑ, ํน์ ๋ค์์คํ์ด์ค๋ ์ํฌ๋ก๋๋ฅผ ๊ฐ ๋ชจ๋๋ก ์ ํํ ์ ์์ต๋๋ค.
Istio๋ 2017๋ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๋ถํฐ ์ฌ์ด๋์นด ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. Sidecar ๋ชจ๋๋ ์ ์ดํด๋๊ณ ์ฒ ์ ํ ๊ฒ์ฆ๋์์ง๋ง ๋ฆฌ์์ค ๋น์ฉ๊ณผ ์ด์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฐฐํฌํ๋ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์๋ ์ฌ์ด๋์นด๋ก ์ฃผ์ ๋ Envoy ํ๋ก์๊ฐ ์์ต๋๋ค.
๋ชจ๋ ํ๋ก์๋ Layer 4์ Layer 7์ ๋ชจ๋ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
2022๋ ์ ์ถ์๋ Ambient ๋ชจ๋๋ Sidecar ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ณด๊ณ ํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ตฌ์ถ๋์์ต๋๋ค. Istio 1.22 ๊ธฐ์ค์ผ๋ก ๋จ์ผ ํด๋ฌ์คํฐ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ํ๋ก๋์ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค.
๋ชจ๋ ํธ๋ํฝ์ Layer 4 ์ ์ฉ ๋ ธ๋ ํ๋ก์๋ฅผ ํตํด ํ๋ก์๋ฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ Layer 7 ๊ธฐ๋ฅ์ ์ป๊ธฐ ์ํด Envoy ํ๋ก์๋ฅผ ํตํ ๋ผ์ฐํ ์ ์ ํํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๋ ์ข ์ข ์ ๋ก ํธ๋ฌ์คํธ ๋ณด์ ํ์ธ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ก ๋ฉ์๋ฅผ ๋ฐฐํฌํ ๋ค์ ํ์์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก L7 ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค. Ambient ๋ฉ์๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ํ์ง ์์ ๋ L7 ์ฒ๋ฆฌ ๋น์ฉ์ ์์ ํ ์ฐํํ ์ ์์ต๋๋ค.
ํธ๋ํฝ ๊ด๋ฆฌ
์ ์ฒด Istio ๊ธฐ๋ฅ ์ธํธ
๋ณด์
์ ์ฒด Istio ๊ธฐ๋ฅ ์ธํธ
๊ด์ฐฐ ๊ฐ๋ฅ์ฑ
์ ์ฒด Istio ๊ธฐ๋ฅ ์ธํธ
ํ์ฅ์ฑ
์ ์ฒด Istio ๊ธฐ๋ฅ ์ธํธ
๋ฉ์์ ์ํฌ๋ก๋ ์ถ๊ฐ
๋ค์์คํ์ด์ค์ ๋ ์ด๋ธ์ ์ง์ ํ๊ณ ๋ชจ๋ Pod๋ฅผ ๋ค์ ์์ํ์ฌ ์ฌ์ด๋์นด ์ถ๊ฐ
์ ์ง์ ๋ฐฐํฌ
์ด์ง: ์ฌ์ด๋์นด๊ฐ ์ฃผ์ ๋๊ฑฐ๋ ์ฃผ์ ๋์ง ์์
๋ผ์ดํ์ฌ์ดํด ๊ด๋ฆฌ
์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ๊ด๋ฆฌ
๋ฆฌ์์ค ํ์ฉ
๋ญ๋น; CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฆฌ์์ค๋ ๊ฐ ๊ฐ๋ณ Pod์ ์ต์ ์ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ํ๋ก๋น์ ๋๋์ด์ผ ํจ
ํ๊ท ๋ฆฌ์์ค ๋น์ฉ
ํผ
ํ๊ท ์ง์ฐ ์๊ฐ (p90/p99)
0.63ms-0.88ms
L7 ์ฒ๋ฆฌ ๋จ๊ณ
2 (์์ค ๋ฐ ๋์ ์ฌ์ด๋์นด)
๊ท๋ชจ์ ๋ง๋ ๊ตฌ์ฑ
๊ฐ ์ฌ์ด๋์นด์ ๋ฒ์๋ฅผ ๊ตฌ์ฑํ์ฌ ๊ตฌ์ฑ์ ์ค์ฌ์ผ ํจ
"์๋ฒ ์ฐ์ " ํ๋กํ ์ฝ ์ง์
๊ตฌ์ฑ ํ์
Kubernetes Job ์ง์
์ฌ์ด๋์นด์ ๊ธด ์๋ช ์ผ๋ก ์ธํด ๋ณต์กํด์ง
๋ณด์ ๋ชจ๋ธ
๊ฐ์ฅ ๊ฐ๋ ฅ: ๊ฐ ์ํฌ๋ก๋์ ์์ฒด ํค๊ฐ ์์
์์๋ ์ ํ๋ฆฌ์ผ์ด์ Pod๊ฐ ๋ฉ์ ํค์ ์ก์ธ์ค ์ ๊ณต
์
์ง์
๋ค์ค ํด๋ฌ์คํฐ๋ฅผ ํฌํจํ ์์ ์
์ง์๋๋ ํ๋ซํผ
Kubernetes (๋ชจ๋ CNI) ๊ฐ์ ๋จธ์
Layer 7์์ ํ๋กํ ์ฝ์ ์ฒ๋ฆฌํ๋ ์ค๋ฒํค๋๋ Layer 4์์ ๋คํธ์ํฌ ํจํท์ ์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์๋นํ ๋์ต๋๋ค. ํน์ ์๋น์ค์ ๊ฒฝ์ฐ L4์์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ค๋ฉด ์๋น์ค ๋ฉ์๋ฅผ ํจ์ฌ ๋ ๋ฎ์ ๋น์ฉ์ผ๋ก ์ ๊ณตํ ์ ์์ต๋๋ค.
์ํธํ
Pod ๊ฐ์ ๋ชจ๋ ํธ๋ํฝ์ mTLS๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ๋ฉ๋๋ค.
์๋น์ค ๊ฐ ์ธ์ฆ
SPIFFE, mTLS ์ธ์ฆ์๋ฅผ ํตํด. Istio๋ Pod์ ์๋น์ค ๊ณ์ ID๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋จ๊ธฐ X.509 ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํฉ๋๋ค.
์๋น์ค ๊ฐ ๊ถํ ๋ถ์ฌ
๋คํธ์ํฌ ๊ธฐ๋ฐ ๊ถํ ๋ถ์ฌ ๋ฐ ID ๊ธฐ๋ฐ ์ ์ฑ ๋ฑ:
์ต์ข ์ฌ์ฉ์ ์ธ์ฆ
ํด๋น ์์โ์ฌ์ฉ์๋ณ ์ค์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
์ต์ข ์ฌ์ฉ์ ๊ถํ ๋ถ์ฌ
ํด๋น ์์โ์ ์ฐธ์กฐ.
๋ก๊น
๊ธฐ๋ณธ ๋คํธ์ํฌ ์ ๋ณด: ๋คํธ์ํฌ 5ํํ, ์ ์ก/์์ ๋ ๋ฐ์ดํธ ๋ฑ. Envoy ๋ฌธ์ ์ฐธ์กฐ.
์ถ์
ํ์ฌ๋ ์๋์ง๋ง, ํฅํ HBONE์ผ๋ก ๊ฐ๋ฅํ ์ ์์ต๋๋ค.
๋ฉํธ๋ฆญ
TCP๋ง ํด๋น (์ ์ก/์์ ๋ ๋ฐ์ดํธ, ํจํท ์ ๋ฑ).
๋ก๋ ๋ฐธ๋ฐ์ฑ
์ฐ๊ฒฐ ์์ค์์๋ง ๊ฐ๋ฅ. TCP ํธ๋ํฝ ์ ํ ์์ ์ฐธ์กฐ.
์ํท ๋ธ๋ ์ดํน
TCP๋ง ํด๋น.
์ด์ ๊ฐ์ง
์ฐ๊ฒฐ ์ค์ /์คํจ ์.
์๋ ์ ํ
์ฐ๊ฒฐ ์ค์ ์ L4 ์ฐ๊ฒฐ ๋ฐ์ดํฐ์ ๋ํด์๋ง ์๋ ์ ํ, ์ ์ญ ๋ฐ ๋ก์ปฌ ์๋ ์ ํ ์ต์ ํฌํจ.
ํ์์์
์ฐ๊ฒฐ ์ค์ ์๋ง ํด๋น (์ฐ๊ฒฐ ์ ์ง๋ ์ํท ๋ธ๋ ์ดํน ์ค์ ์ ํตํด ๊ตฌ์ฑ).
์ฌ์๋
์ฐ๊ฒฐ ์ค์ ์ฌ์๋
๊ฒฐํจ ์ฃผ์
ํด๋น ์์โTCP ์ฐ๊ฒฐ์์๋ ๊ฒฐํจ ์ฃผ์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
ํธ๋ํฝ ๋ฏธ๋ฌ๋ง
ํด๋น ์์โHTTP๋ง ํด๋น
Istio 1.22 ๊ธฐ์ค์ผ๋ก ๋ค์๊ณผ ๊ฐ์ Ambient ๋ชจ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ง๋ง ํ์ฌ Alpha ์ํ์ ๋๋ค:
Sidecar์์ ์ํธ ์ด์ฉ์ฑ
Istio์ ํด๋์ API (VirtualService ๋ฐ DestinationRule)
๋ค์ค ํด๋ฌ์คํฐ ์ค์น
DNS ํ๋ก์ฑ
IPv6/๋์ผ ์คํ
SOCKS5 ์ง์ (์์๋ฐ์ด๋์ฉ)
๋ค์ ๊ธฐ๋ฅ์ ์์ง ๊ตฌํ๋์ง ์์์ต๋๋ค:
์ ์ด๋ ์ด๊ทธ๋ ์ค ํธ๋ํฝ
๋ค์ค ๋คํธ์ํฌ ์ง์
VM ์ง์
ShareRewrite