What is Istio?
Last updated
Last updated
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 ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.