์ฐ๋ฆฌ๋ Red Hat OpenShift ๋ฐ Kubernetes์ ๊ฒฐํฉ๋ Istio Service Mesh์ ๋ค์ํ ๊ธฐ๋ฅ ์ค ์ผ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ผ๋ จ์ ๊ฒ์๋ฌผ์ ์์ํฉ๋๋ค.
์ค๋ XNUMX๋ถ:
- Kubernetes ์ฌ์ด๋์นด ์ปจํ ์ด๋์ ๊ฐ๋ ์ ์ค๋ช ํ๊ณ ์ด ๊ฒ์๋ฌผ ์๋ฆฌ์ฆ์ ์ฃผ์ ์ฃผ์ ๋ฅผ ๊ณต์ํํด ๋ณด๊ฒ ์ต๋๋ค. "์ฝ๋์์ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค".
- Istio์ ๊ธฐ๋ณธ์ธ ๋ผ์ฐํ ๊ท์น์ ์๊ฐํ๊ฒ ์ต๋๋ค. ๋ค๋ฅธ ๋ชจ๋ Istio ๊ธฐ๋ฅ์ ์๋น์ค ์ฝ๋ ์ธ๋ถ์ YAML ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ง์ดํฌ๋ก์๋น์ค๋ก ํธ๋ํฝ์ ์ ๋ฌํ ์ ์๋ ๊ท์น์ด๋ฏ๋ก ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. Canary ๋ฐฐํฌ ๋ฐฐํฌ ๋ฐฉ์๋ ๊ณ ๋ คํ๊ณ ์์ต๋๋ค. ์ํด ๋ณด๋์ค โ Istio์ ๋ํ 10๊ฐ์ ๋ํํ ๊ฐ์
๊ณง ๊ณต๊ฐ๋ XNUMX๋ถ์์๋ ๋ค์ ๋ด์ฉ์ ์๋ ค๋๋ฆฝ๋๋ค.
- Istio๊ฐ ํ๋ก ์ฐจ๋จ๊ธฐ์ ํจ๊ป ํ ๋ฐฐ์ถ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ๊ณผ Istio๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐธ๋ฐ์ฑ ํ๋ก์์ ์๋ํ์ง ์๊ฑฐ๋ ์ฑ๋ฅ์ด ๋ฎ์ ํฌ๋๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- ๋ํ ์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์ Circuit Breaker ์ฃผ์ ๋ฅผ ์ดํด๋ณด๊ณ ์ฌ๊ธฐ์์ Istio๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๋น์ค ์ฝ๋๋ฅผ ์ฝ๊ฐ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ YAML ๊ตฌ์ฑ ํ์ผ๊ณผ ํฐ๋ฏธ๋ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํธ๋ํฝ์ ๋ผ์ฐํ ํ๊ณ ๋คํธ์ํฌ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
XNUMX๋ถ:
- Istio์ ์ด๋ฏธ ๋ด์ฅ๋์ด ์๊ฑฐ๋ ์ฝ๊ฒ ์ถ๊ฐ๋๋ ์ถ์ ๋ฐ ๋ชจ๋ํฐ๋ง์ ๋ํ ์ด์ผ๊ธฐ์ ๋๋ค. Prometheus, Jaeger, Grafana ๋ฑ์ ๋๊ตฌ๋ฅผ OpenShift ํ์ฅ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ์์ฝ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ค๋ฅ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฒ์์ ์๋์ ์ผ๋ก ์ค๋ฅ๋ฅผ ์์คํ ์ ๋์ ํ๋ ๊ฒ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ฆ, ์์ค ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ค๋ฅ ์ฃผ์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. ์ด๋ ํ ์คํธ ๊ด์ ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฝ๋ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ถ๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ํ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ง์ง๋ง์ผ๋ก Istio Service Mesh์ ๋ง์ง๋ง ๊ฒ์๋ฌผ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋คํฌ์ฌ์ด๋๋ก ๊ฐ์๋ค. ๋ณด๋ค ์ ํํ๊ฒ๋ ์ฝ๋๊ฐ ํ๋ก๋์ ๋ฐ์ดํฐ์ ์ง์ ๋ฐฐํฌ๋๊ณ ํ ์คํธ๋์ง๋ง ์์คํ ์๋์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ํฅ์ ๋ฏธ์น์ง ์๋ Dark Launch ๊ตฌ์ฑํ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. ์ด๊ฒ์ด Istio์ ํธ๋ํฝ ๋ถํ ๊ธฐ๋ฅ์ด ์ ์ฉํ ๊ณณ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ ํฌ ์์คํ ์ ์๋์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ค์๊ฐ ์์ฐ ๋ฐ์ดํฐ๋ฅผ ํ ์คํธํ ์ ์๋ ๋ฅ๋ ฅ์ด ๊ฐ์ฅ ์ค๋๋ ฅ ์๋ ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ๋๋ค.
- Dark Launch๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Canary ๋ฐฐํฌ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ํ์ ์ค์ด๊ณ ์ ์ฝ๋๋ฅผ ํ๋ก๋์ ์ ๋ ์ฝ๊ฒ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. Canary ๋ฐฐํฌ ์์ฒด๋ ์๋ก์ด ๊ฒ์ด ์๋์ง๋ง Istio๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ YAML ํ์ผ๋ง์ผ๋ก ์ด ์ฒด๊ณ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
- ๋ง์ง๋ง์ผ๋ก, ์ธํฐ๋ท ์์ ์ Istio์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก Istio Egress๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ์ธ๋ถ์ ์๋ ์ฌ์ฉ์์๊ฒ ์๋น์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์, ์ฌ๊ธฐ ๊ฐ๋๋ค...
Istio ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด๋ฆฌ ๋๊ตฌ - ์๋น์ค ๋ฉ์์์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์กฐ์จํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ
Istio ์๋น์ค ๋ฉ์๋ ๋ฌด์์ ๋๊น?
์๋น์ค ๋ฉ์๋ ํธ๋ํฝ ๋ชจ๋ํฐ๋ง, ์ก์ธ์ค ์ ์ด, ๊ฒ์, ๋ณด์, ๋ด๊ฒฐํจ์ฑ ๋ฐ ์๋น์ค ๊ทธ๋ฃน์ ๋ํ ๊ธฐํ ์ ์ฉํ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค. Istio๋ฅผ ์ฌ์ฉํ๋ฉด ์๋น์ค ์์ฒด์ ์ฝ๋๋ฅผ ์กฐ๊ธ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ด ๋ชจ๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๋ง์ ์ ๋น๊ฒฐ์ ๋ฌด์์ ๋๊น? Istio๋ ์ฌ์ด๋์นด ์ปจํ ์ด๋(์ฌ์ด๋์นด๋ ์คํ ๋ฐ์ด ์ฌ์ด๋์นด) ํํ๋ก ๊ฐ ์๋น์ค์ ์์ฒด ํ๋ก์๋ฅผ ์ฐ๊ฒฐํ ํ ์ด ์๋น์ค์ ๋ํ ๋ชจ๋ ํธ๋ํฝ์ด ํ๋ก์๋ฅผ ํต๊ณผํ๋ฉฐ, ํ๋ก์๋ ์ง์ ๋ ์ ์ฑ ์ ๋ฐ๋ผ ์ด ํธ๋ํฝ์ ๋ฐฉ๋ฒ, ์๊ธฐ ๋ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์๋น์ค์ ์ ํ ๋๋ฌํด์ผํฉ๋๋ค. ๋ํ Istio๋ฅผ ์ฌ์ฉํ๋ฉด ์นด๋๋ฆฌ์ ๋ฐฐํฌ, ํ๋ก ์ฐจ๋จ๊ธฐ, ๊ฒฐํจ ์ฃผ์ ๋ฑ๊ณผ ๊ฐ์ ๊ณ ๊ธ DevOps ๊ธฐ์ ์ ๊ตฌํํ ์ ์์ต๋๋ค.
Istio๊ฐ ์ปจํ ์ด๋ ๋ฐ Kubernetes์ ์๋ํ๋ ๋ฐฉ์
Istio ์๋น์ค ๋ฉ์๋ ๋ชจ๋ํฐ๋ง, ์ถ์ , ํ๋ก ์ฐจ๋จ๊ธฐ, ๋ผ์ฐํ , ๋ก๋ ๋ฐธ๋ฐ์ฑ, ๊ฒฐํจ ์ฃผ์ , ์ฌ์๋, ์๊ฐ ์ด๊ณผ, ๋ฏธ๋ฌ๋ง, ์ก์ธ์ค ์ ์ด, ์๋ ์ ํ ๋ฑ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ์ฌ์ด๋์นด๋ก ๊ตฌํํ ๊ฒ์ ๋๋ค. ์ค๋๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฝ๋์์ ์ง์ ๊ตฌํํ๋ ์๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ง๋ง Istio๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋์์ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๋์ผํ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ป์ ์ ์์ต๋๋ค.
์ฌ์ด๋์นด ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ฉด Istio๋ Linux ์ปจํ
์ด๋์์ ์คํ๋ฉ๋๋ค.
๋ํ ์ค์ํ ์ ์ ๋ง์ดํฌ๋ก์๋น์ค์ ์ด์ ๊ตฌ์ฑ ์์๊ฐ ์ฝ๋ ์์ฒด์ ์ ํ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ค๋ ์ ์ ๋๋ค. ์ด๋ ํด๋น ์ด์์ด IT ์ ๋ฌธ๊ฐ์๊ฒ ์์ ํ๊ฒ ์ด์ ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์ค์ ๋ก ๊ฐ๋ฐ์๊ฐ ํ๋ก ์ฐจ๋จ๊ธฐ์ ๊ฒฐํจ ์ฃผ์ ์ ๋ด๋นํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์, ๋ฐ์ํ์ง๋ง ์ฒ๋ฆฌํ๊ณ ์์ฑํ์๊ฒ ์ต๋๊น? ์ฝ๋์์ ์ด ๋ชจ๋ ๊ฒ์ ์ ๊ฑฐํ๋ฉด ํ๋ก๊ทธ๋๋จธ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ์ ์ ์ ์ผ๋ก ์ง์คํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ๋ ์์ฒด๋ ๋ ์งง์์ง๊ณ ๋จ์ํด์ง ๊ฒ์ ๋๋ค.
์๋น์ค ๋ฉ์
์ฝ๋ ์ธ๋ถ์์ ๋ง์ดํฌ๋ก์๋น์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ Istio๋ Service Mesh์ ๊ฐ๋ ์ ๋๋ค. ์ฆ, ๋คํธ์ํฌ ๊ธฐ๋ฅ์ ๋ฉ์๋ฅผ ํ์ฑํ๋ ํ๋ ์ด์์ ๋ฐ์ด๋๋ฆฌ๋ก ๊ตฌ์ฑ๋ ๊ทธ๋ฃน์ ๋๋ค.
Istio๊ฐ ๋ง์ดํฌ๋ก์๋น์ค์ ์๋ํ๋ ๋ฐฉ์
์ฌ์ด๋์นด ์ปจํ
์ด๋์ ์์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ ๊ฒฐํจ ์ฃผ์
, ์ง์ ๋ฑ์ ๊ตฌ์ฑํ๊ธฐ ์ํด Istio ์ค์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ์ ๋ํ ๋๊ฐ๋ฅผ ์น๋ฌ์ผ ํฉ๋๊น?
๋ณ๋ง์์์. Istio๋ ๋งค์ฐ ๋น ๋ฅด๋ฉฐ ๋ค์ ์ธ์ด๋ก ์์ฑ๋์์ต๋๋ค.
์ค์ค๋ก ๋ง์คํฐํ์ธ์
Red Hat ๊ฐ๋ฐ์ ๊ฒฝํ ํ์ ์ฌ์ธต์ ์ธ ์ค์ต์ ๊ฐ๋ฐํ์ต๋๋ค.
Istio์ ๋ํ 10๊ฐ์ง ๋ํํ ๊ฐ์
๋ธ๋ก 1 - ์ด๋ณด์์ฉ
Istio ์๊ฐ
30 ๋ถ
Service Mesh์ ๋ํด ์์๋ณด๊ณ OpenShift Kubernetes ํด๋ฌ์คํฐ์ Istio๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
Istio์ ๋ง์ดํฌ๋ก์๋น์ค ๋ฐฐํฌ
30 ๋ถ
์ฐ๋ฆฌ๋ Istio๋ฅผ ์ฌ์ฉํ์ฌ Spring Boot ๋ฐ Vert.x์ ํจ๊ป ์ธ ๊ฐ์ง ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
๋ธ๋ก 2 โ ์ค๊ธ ์์ค
Istio์ ๋ชจ๋ํฐ๋ง ๋ฐ ์ถ์
60 ๋ถ
Istio์ ๊ธฐ๋ณธ ์ ๊ณต ๋ชจ๋ํฐ๋ง ๋๊ตฌ, ์ฌ์ฉ์ ์ ์ ์ธก์ ํญ๋ชฉ, Prometheus ๋ฐ Grafana๋ฅผ ํตํ OpenTracing์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Istio์ ๊ฐ๋จํ ๋ผ์ฐํ
60 ๋ถ
๊ฐ๋จํ ๊ท์น์ ์ฌ์ฉํ์ฌ Istio์์ ๋ผ์ฐํ
์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
๊ณ ๊ธ ๋ผ์ฐํ
๊ท์น
60 ๋ถ
Istio์ ์ค๋งํธ ๋ผ์ฐํ
, ์ก์ธ์ค ์ ์ด, ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ์๋ ์ ํ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ธ๋ก 3 โ ๊ณ ๊ธ ์ฌ์ฉ์
Istio์ ์ค๋ฅ ์ฃผ์
60 ๋ถ
๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค๋ฅ ์ฒ๋ฆฌ ์๋๋ฆฌ์ค, HTTP ์ค๋ฅ ๋ฐ ๋คํธ์ํฌ ์ง์ฐ ์์ฑ์ ์ฐ๊ตฌํ๊ณ ์นด์ค์ค ์์ง๋์ด๋ง์ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ๋ณต์ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
Istio์ ํ๋ก ์ฐจ๋จ๊ธฐ
30 ๋ถ
์คํธ๋ ์ค ํ
์คํธ ์ฌ์ดํธ๋ฅผ ์ํด Siege๋ฅผ ์ค์นํ๊ณ ์ฌ์, ํ๋ก ์ฐจ๋จ๊ธฐ ๋ฐ ํ ๋ฐฐ์ถ์ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋ ๋ด๊ฒฐํจ์ฑ์ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
์ก์ ๋ฐ Istio
10 ๋ถ
์ฐ๋ฆฌ๋ Egress ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ๋ด๋ถ ์๋น์ค์ ์ธ๋ถ API ๋ฐ ์๋น์ค์ ์ํธ ์์ฉ์ ๋ํ ๊ท์น์ ๋ง๋ญ๋๋ค.
์ด์คํฐ์ค์ ํค์๋ฆฌ
15 ๋ถ
Kiali๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๋ฉ์ ๊ฐ์๋ฅผ ํ์ธํ๊ณ ์์ฒญ ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
Istio์ ์ํธ TLS
15 ๋ถ
Istio Gateway์ VirtualService๋ฅผ ๋ง๋ ๋ค์ ์ํธ TLS(mTLS)์ ํด๋น ์ค์ ์ ์์ธํ ์ฐ๊ตฌํฉ๋๋ค.
๋ธ๋ก 3.1 - ์ฌ์ธต ๋ถ์: ๋ง์ดํฌ๋ก์๋น์ค์ฉ Istio Service Mesh
๊ทธ ์ฑ
๋ฌด์จ ๋ด์ฉ์ด์ผ:
- ์๋น์ค ๋ฉ์๋ ๋ฌด์์ ๋๊น?
- Istio ์์คํ ๊ณผ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์์ ์ญํ
- Istio๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ๊ฒฐํจ ํ์ฉ;
- ๋ผ์ฐํ ;
- ์นด์ค์ค ํ ์คํธ;
- ๋ณด์;
- ์ถ์ , ์ธก์ ํญ๋ชฉ ๋ฐ Grafana๋ฅผ ์ฌ์ฉํ ์๊ฒฉ ๋ถ์ ์์ง.
์๋น์ค ๋ฉ์ ๋ฐ Istio์ ๊ดํ ๊ธฐ์ฌ ์๋ฆฌ์ฆ
Istio ๋ผ์ฐํ ๊ท์น: ์๋น์ค ์์ฒญ์ด ํ์ํ ๊ณณ์ผ๋ก ์ ๋ฌ Isio์ ํ๋ก ์ฐจ๋จ๊ธฐ: ํ ๋ฐฐ์ถ ์ฒ๋ฆฌ Istio์ ํ๋ก ์ฐจ๋จ๊ธฐ: ์คํจ๊ฐ ์ต์ ์ธ ๊ฒฝ์ฐ Istio์ ์ถ์ ๋ฐ ๋ชจ๋ํฐ๋ง: ๋ชจ๋ ๊ฒ์ด ์ด๋ํ๋ ์์น์ ์๋ Istio์ ์นด์ค์ค ์์ง๋์ด๋ง: ์ด๊ฒ์ด ์๋๋ ๋ฐฉ์์ ๋๋ค. Istio์ Dark ์ถ์: ๋น๋ฐ ์๋น์ค Istio์ Canary ๋ฐฐํฌ: ์ปค๋ฏธ์ ๋ ๋จ์ํ Istio Egress: ๊ธฐ๋ ํ ๊ฐ๊ฒ๋ฅผ ํตํด ์ถ๊ตฌ
์ง์ ํด๋ณด๊ธฐ
์ด ๊ฒ์๋ฌผ ์๋ฆฌ์ฆ๋ Istio์ ์ธ๊ณ์ ๋ํ ์ฌ์ธต์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๋ฌ๋ถ์๊ฒ ๊ฐ๋
์ ์๊ฐํ๊ณ Istio๋ฅผ ์ง์ ์ฌ์ฉํด ๋ณด๋๋ก ์๊ฐ์ ์ฃผ๊ณ ์ถ์ต๋๋ค. ์์ ํ ๋ฌด๋ฃ์ด๋ฉฐ Red Hat์ ๋ค์์ ํฌํจํ์ฌ OpenShift, Kubernetes, Linux ์ปจํ
์ด๋ ๋ฐ Istio๋ฅผ ์์ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Istio ๋ผ์ฐํ ๊ท์น: ์๋น์ค ์์ฒญ์ด ํ์ํ ๊ณณ์ผ๋ก ์ ๋ฌ
๋ผ์ฐํ
๊ท์น์ ์ค์ ๋ก ๊ฒฝ๋ก ์ ํ์ ๊ฒฐ์ ํ๋ ๊ท์น์
๋๋ค. ์์คํ
๋ณต์ก์ฑ ์์ค์ ๊ด๊ณ์์ด ์ด๋ฌํ ๊ท์น์ ์ผ๋ฐ์ ์ธ ์๋ ์๋ฆฌ๋ ๊ฐ๋จํฉ๋๋ค. ์์ฒญ์ ํน์ ๋งค๊ฐ๋ณ์ ๋ฐ HTTP ํค๋ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ฐํ
๋ฉ๋๋ค.
์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
Kubernetes ๊ธฐ๋ณธ๊ฐ: ์ฌ์ํ "50/50"
์ด ์์์๋ OpenShift์์ ๋ ๊ฐ์ง ๋ฒ์ ์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฅผ v1๊ณผ v2๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. ๊ฐ ๋ฒ์ ์ ์์ฒด Kubernetes Pod์์ ์คํ๋๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ท ๋ฑํ๊ฒ ๊ท ํ ์กํ ๋ผ์ด๋ ๋ก๋น ๋ผ์ฐํ ์ ์คํํฉ๋๋ค. ๊ฐ ํฌ๋๋ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค, ์ฆ ๋ณต์ ๋ณธ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฒญ ๊ณต์ ๋ฅผ ๋ฐ์ต๋๋ค. Istio๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ์์ก์ ์๋์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
OpenShift์ ์ถ์ฒ ์๋น์ค์ ๋ ๊ฐ์ง ๋ฒ์ ์ธ Recommendation-v1๊ณผ Recommendation-v2๋ฅผ ๋ฐฐํฌํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆผ์์. ๊ทธ๋ฆผ 1์ ๊ฐ ์๋น์ค๊ฐ ํ๋์ ์ธ์คํด์ค์ ํ์๋ ๋ ์์ฒญ์ด ์๋น์ค ๊ฐ์ ๊ท ๋ฑํ๊ฒ ๋ฒ๊ฐ์ ๋ํ๋๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. 1-2-1-2-... ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก Kubernetes ๋ผ์ฐํ
์ด ์๋ํ๋ ๋ฐฉ์์
๋๋ค.
๋ฒ์ ๊ฐ ๊ฐ์ค์น ๋ถํฌ
๊ทธ๋ฆผ์์. ๊ทธ๋ฆผ 2๋ v2 ์๋น์ค ๋ณต์ ๋ณธ ์๋ฅผ 2์์ 2๋ก ๋๋ฆฌ๋ฉด ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ๋ณด์ฌ์ค๋๋ค(oc scale โreplicas=1 development/recommendation-v2 ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ํ๋จ). ๋ณด์๋ค์ํผ, v1๊ณผ v2 ์ฌ์ด์ ์์ฒญ์ ์ด์ 2:1 ๋น์จ(2-2-XNUMX-XNUMX-XNUMX-XNUMX-โฆ)๋ก ๋๋ฉ๋๋ค.
Istio๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ ๋ฌด์
Istio๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ํ ๋ฐฉ์์ผ๋ก ์์ฒญ ๋ฐฐํฌ๋ฅผ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ Istio yaml ํ์ผ์ ์ฌ์ฉํ์ฌ Recommendation-v1์๋ง ๋ชจ๋ ํธ๋ํฝ์ ๋ณด๋ ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ ๋ผ๋ฒจ์ ๋ฐ๋ผ ํฌ๋๊ฐ ์ ํ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด ์์์๋ ๋ ์ด๋ธ v1์ ์ฌ์ฉํฉ๋๋ค. "weight: 100" ๋งค๊ฐ๋ณ์๋ ํธ๋ํฝ์ 100%๊ฐ v1 ๋ ์ด๋ธ์ด ์๋ ๋ชจ๋ ์๋น์ค ํฌ๋๋ก ๋ผ์ฐํ ๋๋ค๋ ์๋ฏธ์ ๋๋ค.
๋ฒ์ ๊ฐ ์ง์๋ฌธ ๋ฐฐํฌ(Canary ๋ฐฐํฌ)
๋ค์์ผ๋ก, ๊ฐ์ค์น ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํฌ๋์์ ์คํ ์ค์ธ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค ์๋ฅผ ๋ฌด์ํ๊ณ ๋ ํฌ๋ ๋ชจ๋์ ํธ๋ํฝ์ ์ ๋ฌํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ๊ธฐ์์๋ ํธ๋ํฝ์ 90%๋ฅผ v1๋ก ๋ณด๋ด๊ณ 10%๋ฅผ v2๋ก ๋ณด๋ ๋๋ค.
๋ชจ๋ฐ์ผ ์ฌ์ฉ์๋ฅผ ์ํ ๋ณ๋์ ๋ผ์ฐํ
๊ฒฐ๋ก ์ ์ผ๋ก ๋ชจ๋ฐ์ผ ์ฌ์ฉ์ ํธ๋ํฝ์ ๊ฐ์ ๋ก ์๋น์ค v2๋ก ๋ผ์ฐํ ํ๊ณ ๋ค๋ฅธ ๋ชจ๋ ์ฌ์ฉ์๋ v1๋ก ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ด๋ฅผ ์ํด ์ ๊ท์์ ์ฌ์ฉํ์ฌ ์์ฒญ ํค๋์ ์ฌ์ฉ์ ์์ด์ ํธ ๊ฐ์ ๋ถ์ํฉ๋๋ค.
์ด์ ๋
ํค๋ ๊ตฌ๋ฌธ ๋ถ์์ ์ํ ์ ๊ท ํํ์์ ์๋ ์ฌ๋ฌ๋ถ์ด Istio ๋ผ์ฐํ ๊ท์น์ ์์ ๋ง์ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ ๋๊ธฐ๋ฅผ ๋ถ์ฌํ ๊ฒ์ ๋๋ค. ๊ฒ๋ค๊ฐ ํค๋ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์ฝ๋์์ ํ์ฑ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ๊ด๋ฒ์ํฉ๋๋ค.
Dev๊ฐ ์๋๋ผ Ops๋ผ๋ ์ ์ ๊ธฐ์ตํ์ธ์.
์์ ์์์ ๋ณด์ฌ์ค ๋ชจ๋ ๊ฒ์ ํน๋ณํ ์์ฒญ ํค๋๋ฅผ ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ์์ค ์ฝ๋๋ฅผ ์กฐ๊ธ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ์ํ๋ฉ๋๋ค. Istio๋ ์๋ฅผ ๋ค์ด ํ ์คํธ ๋จ๊ณ์์ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ฐ์์ ํ๋ก๋์ ์ ํฐ ๋์์ด ๋๋ IT ์์คํ ์ด์ ์ ๋ฌธ๊ฐ ๋ชจ๋์๊ฒ ์ ์ฉํ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ์ด ์ผ๋ จ์ ๊ฒ์๋ฌผ์ ์ฃผ์ ์ฃผ์ ๋ฅผ ๋ฐ๋ณตํด ๋ณด๊ฒ ์ต๋๋ค. ์ฝ๋์์ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค. ์ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ฑฐ๋ ์ ์ปจํ ์ด๋๋ฅผ ์์ํ ํ์๊ฐ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ์ฝ๋ ์ธ๋ถ์์ ๊ตฌํ๋ฉ๋๋ค.
๋์ ์์๋ ฅ์ ์ฌ์ฉํด๋ผ
์ ๊ท์์ ์ฌ์ฉํ ํค๋ ๋ถ์์ ๊ฐ๋ฅ์ฑ์ ์์ํด ๋ณด์ญ์์ค. ๊ฐ์ฅ ํฐ ๊ณ ๊ฐ์ ๊ทํ์ ํน๋ณ ๋ฒ์ ์ผ๋ก ๋ฆฌ๋๋ ์
ํ๊ณ ์ถ์ต๋๋ค.
์ง์ ํด๋ณด๊ธฐ
Istio, Kubernetes ๋ฐ OpenShift์ ๋ํด ์ฝ๋ ๊ฒ๋ ์ค์ํ์ง๋ง ๋ชจ๋ ๊ฒ์ ์ง์ ๋ง์ ธ๋ณด๋ ๊ฒ์ ์ด๋จ๊น์? ํ
๋ค์ ํฌ์คํธ: ์ฐ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ์๋ฆ๋ต๊ฒ ํด๊ฒฐํฉ๋๋ค
์ค๋์ Istio ๋ผ์ฐํ
๊ท์น์ด ๋ฌด์์ ํ ์ ์๋์ง ์ดํด๋ณด์์ต๋๋ค. ์ด์ ๋์ผํ ๊ฒ์ ์์ํด ๋ณด์ญ์์ค. ๋จ, ์ค๋ฅ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๊ฒฝ์ฐ์๋ง ํด๋น๋ฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋ค์ ๊ฒ์๋ฌผ์์ ์ด์ผ๊ธฐํ ๋ด์ฉ์
๋๋ค.
์ถ์ฒ : habr.com