-
Notifications
You must be signed in to change notification settings - Fork 0
Home
istio๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก k8s cluster์์ istio CR๋ค์ ๋ฐฐํฌํด์ ๋ณด์(mTLS)๊น์ง๋ ์๋์ง๋ง, traffic management ์ ๋๋ ๊ฒฝํ์ ํด๋ณด์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ์ข ๋ ๊น๊ฒ ๋ค์ด๊ฐ์ istio์ ๋์ ์๋ฆฌ๋ฑ ํ์ํ ๊ธฐ๋ฐ ์ง์๋ค์ ์ต๋ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์.
week1~7๊น์ง ์งํํ๋ฉด์ istio๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ sidecar injection์ด enable๋ ์ดํ pod ์์ฑ ์์ฒญ์ด ๋ค์ด์์ ๋ ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ์ pod spec์ด ์์ ๋์ด pod๊ฐ ์ต์ข ์ ์ผ๋ก ์์ฑ๋๋ ์ง, ํด๋ฌ์คํฐ ์ธ๋ถ์์ ์์ฑ๋ ํ๋๋ก ํฅํ๋ ํธ๋ํฝ์ด ๋ค์ด์์ ๋ ์ด๋ป๊ฒ ํธ๋ํฝ์ด sidecar๋ก ์ฃผ์ ๋ envoy proxy container๋ก ๋ฆฌ๋ค์ด๋ ํธ ๋๋ ์ง ๊ทธ๋ฆฌ๊ณ envoy proxy container๋ก ๋ฆฌ๋ค์ด๋ ํธ ๋ ์ดํ์ envoy ๋ด๋ถ์์ ์ด๋ค ๋์์ ํตํด ์ต์ข ์ ์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์ ๋๋ฌํ๊ฒ ๋๋ ์ง์ ๋ํ ํฐ ๊ทธ๋ฆผ์ ์ดํดํ๊ฒ ๋๋ฉด์ istio ์ฌ์ฉ์ ์์ด์ ํ์์ ์ธ ์ง์๋ค์ ๊ฐ์ถ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๋ฟ๋ง ์๋๋ผ ๋์ ์ผ๋ก ์ค์ ๋ค์ด ๋๊ธฐํ๋๋ xDS API๋ค์ ๋ํด์๋ ํ์ต์ ํ์ฌ season1 ์คํฐ๋ ๊ธฐ๊ฐ ๋์ ์์์ ๋จน์ ๋ ์ํํ๋ ์๊ฐ์ด ํ์ํ๋ฏ ์ ๋ณด๋ฅผ ์ํํ๋๋ฐ ์๊ฐ์ ๋ณด๋ธ ๊ฒ ๊ฐ์ ๋ง์กฑ์ค๋ฝ์ต๋๋ค.
ํ์ง๋ง ์์ง envoy ๋ด๋ถ ๋์ ๊ตฌ์กฐ ( istio-proxy container ๋ก ํธ๋ํฝ์ด ๋ค์ด์์ ๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋๊ฐ ? ) ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ๋์ ์ผ๋ก configuration๋ค์ ๋๊ธฐํํ๋ ์ง์ ๋ํ ์๋ฒฝํ ์ดํด๋ฅผ ํ์ง ๋ชปํ์ฌ ๋จ์ ์์ ๋ค๋ ์กด์ฌํฉ๋๋ค.
ํจ๊ป ์ด์ฌํ ์ฐธ์ฌํด์ค ์์๋, ์ฑํธ๋ ๋ชจ๋ ๊ฐ์ฌ๋๋ฆฌ๊ณ ์์ฆ2์์๋ ๊ฐ์ด ์ฌ๋ฐ๊ฒ ์คํฐ๋ํ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
์คํฐ๋ ๊ธฐ๊ฐ ๋์ istio๊ฐ ๋ฌด์์ด๋ฉฐ ์ ์ฌ์ฉํ๋์ง ์ ์ ์์๊ณ , ํ์ตํ๋ฉด์ ๋ฐ์ํ๋ ๊ถ๊ธ์ฆ์ repositoy์ issue ํ์์ผ๋ก ์์ฑํ์ฌ ํจ๊ป ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ํนํ istio-ingressgateway ๋ผ์ฐํ ๋ฐฉ๋ฒ๊ณผ Istio custom resource๋ค์ด ์ด๋ป๊ฒ mesh logic์ผ๋ก ๋ณํ๋๊ฐ? ๋ issue์ ๊ทธ๋์ ๊ณต๋ถํ๋ ์ง์๋ค์ ๋ฐํ์ผ๋ก istio๊ฐ ๋์ํ๋ ์ ๋ฐ์ ์ธ ๊ณผ์ ์ ์ดํดํ๊ฒ ๋๋ฉด์ ์คํฐ๋ ๊ธฐ๊ฐ ๋์ ๋ณด๋ ์๋ ํ์ต์ ํ ๊ฒ ๊ฐ์ ๊ธฐ์ฉ๋๋ค. ์ธ๊ธํ issue ์ธ์๋ ๋ค์ํ ์ฃผ์ ๋ฅผ ํตํด istio์ ๋ํ ํญ๋์ ์ดํด๋ฅผ ํ ์ ์์์ต๋๋ค. ํญ์ ์คํฐ๋ ์ด๋์ด์ฃผ์ ๋ณํ๋, ์์ธํ ์ ๋ณด๋ก ๊ถ๊ธ์ฆ์ ํด๊ฒฐํด์ฃผ์ ์ฑํธ๋ ๊ฐ์ฌํฉ๋๋ค!
Istio๋ฅผ ๊ณต๋ถํ๊ฒ ๋๋ฉด์ Istio์ ๊ฐ๋ ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ต๋ํ์๊ณ ๋ ๋์๊ฐ Istio์ ๋์์๋ฆฌ์ ๋ํ ์ต์ํ์ ์ง์์ ๊ฐ์ถ๊ฒ ๋ ๊ฒ ๊ฐ์ ๋ง์กฑํฉ๋๋ค. ํนํ ๊ทธ๋์ ๋ฆฌ๋ ์ค ๋คํธ์ํฌ ๊ด๋ จ ์ปค๋ ์ง์ ๋ฐ ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ๋ณต์ตํ๋ ๋ถ๋ถ์๋ ๋์์ด ๋์์ต๋๋ค. Istio๊ฐ ์ด๋ป๊ฒ ์๋ํ๊ณ Envoy๊ฐ ์ด๋ป๊ฒ ์ค์ ๋๋์ง ๋๋ต์ ์ผ๋ก ํ์ธํ ์ ์์์ต๋๋ค. istio์ ๊ณ ๊ฐ์ฉ์ฑ์ ์ํ ๋ฐฐํฌ ์ ๋ต๊ณผ ๊ฐ์ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ถ๋ถ์ ๋ํ์ฌ Insight๋ฅผ ์ป์ ์ ์์๊ณ iptables ๊ด๋ จํด์ ์์ธํ ๊ณต๋ถํ ์ ์์์ต๋๋ค. ์คํฐ๋์์ ์ข์ ์๋ฃ ๊ณต์ ํด ์ฃผ์ ๋ณํ๋, Ingress gateway ๊ด๋ จ ์ ๋ณด ๊ณต์ ํด์ฃผ์ ์์๋ ๊ฐ์ฌํฉ๋๋ค!
- ์ด๋ป๊ฒ sidecar pattern์ผ๋ก ํ๋์ envoy proxy container๊ฐ ์ฃผ์
๋๋๊ฐ?
- mutating admission controller
- mutatingwebhookconfigurations
- istio-sidecar-injector webhook
- yaml ํ์์ผ๋ก ์ ์๋ istio custom resources๋ค์ด ์ด๋ป๊ฒ mesh logic์ด envoy์ ์ ํ๋๋๊ฐ?
- istio custom resources ( gateway, virtualService, destinationRule, authorizationPolicy, envoyFilter ๋ฑ )
- istiod ( istio architecture )
- xDS API ( Envoy )
- gRPC
- 1์์ ์ฃผ์
๋ Envoy Proxy๊ฐ ์ด๋ป๊ฒ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๋๊ฐ?
- iptables
- netFilter
- kernel/user ์์ญ
- init container
- 3์์ ๊ฐ๋ก์ฑ ์ดํ envoy ์์ ๋ด๋ถ์ ์ผ๋ก ์ด๋ป๊ฒ ๋์ํด์ ์ต์ข
๋ชฉ์ ์ง์ธ ์ดํ๋ฆฌ์ผ์ด์
์ผ๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋๊ฐ?
- envoy ๊ตฌ์กฐ
- envoy ๋์์๋ฆฌ
- ๋คํธ์ํฌ ์ง์ ( OSI 7 Layer, TCP/IP stack )
- ์ด๋ฐ์๋ ์์ฆ1 ์ฒ๋ผ Gitlab CI/CD, EKS, AWS ๋ฑ ํ์ํ ์ง์ ํ์ต -> ๊ฐ์ธ๋ณ gitlab CI/CD ํ๊ฒฝ ์ธํ ์ ์๋ฃํ๊ธฐ
- ์ค์ต ์ค๋น๊ฐ ๋๋ฉด ํ์ผ ๋ง๊ณ ์ฃผ๋ง์ ์๊ฐ์ ๋ ํฌ์ํด์ ๋งค์ฃผ ๊ฐ์ธ ๋ณ ํ๊ฒฝ์ EKS๋ฅผ ์ง์ ๋์๊ฐ์ง๊ณ ์ค์ต ์งํ ( ๊ณ์ eks๋ฅผ ์ ์งํ๊ธฐ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ )
- ์ค์ตํ ๋๋ ๋ญ ๊ฐ์ธ๋ณ ๊ฐ์ ๋ค๋ฅธ ๋ฐฐํฌ๋ฐฉ์์ ์ง์? ( canary, dark release ๋ฑ )
- season2์ repo๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํด eks provisioning ๊ด๋ จ ํ์ผ์ด๋ผ๋์ง, istio CR yaml ๋ฑ ์ค์ตํ ํ์ผ๋ค์ ์ฌ๋ฆฌ๊ธฐ
- AWS ๋ฃจํธ ๊ณ์ ์ ๋ด๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์ด๋ฏธ route53๋ฑ ํ์์ ์ธ ์ธํ
์ด ๋์ด์๊ธฐ ๋๋ฌธ
- ๋ง์ฝ ๋ณธ์ธ ๊ณ์ ์ผ๋ก ํด๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ๋ ์๊ด์์
- aws configure ์ค์ ์ ๋ณธ์ธ ๊ณ์ ์ผ๋ก ํ๋ ์ฐจ์ด๋ง ์์ ๋ฟ์ด๊ธฐ ๋๋ฌธ
- https://bluehorn07.github.io/2024/04/10/istio-certificate-associate-exam-review/
- https://www.anyflow.net/sw-engineer/istio-certified-associate
- week1 information
- week2 information
- week3 information
- week4 information
- week5 information
- week6 information
- week7 information
- Envoy Proxy๊ฐ Application Pod์ injection ๋๋ ์์ธ ๊ณผ์ ์?
- Istio custom resource๋ค์ด ์ด๋ป๊ฒ mesh logic์ผ๋ก ๋ณํ๋๊ฐ?
- Istio์ Custom Resource๋ค์ด mesh logic์ผ๋ก ๋ณํ๋ ์ดํ ์ ์ฉ ์์๊ฐ ์ด๋ป๊ฒ ๋ณด์ฅ ๋๋๊ฐ?
- Envoy Proxy๊ฐ ์ด๋ป๊ฒ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๋๊ฐ?
- Istio init container ์ pause container์ ์ฐ๊ด์ฑ
- Istio์์ Weighted Routing, LB, Curcuit breaking ๊ฐ์ ํธ๋ ํฝ ์ ์ด๋ฅผ ์ํ์ฌ ๋ฌด์์ ํ๋๊ฐ?
- istio-ingressgateway ๋ผ์ฐํ ๋ฐฉ๋ฒ
- iptables traffic hijacking์์ iptables ๋ช ๊ณ์ธต๊น์ง ์ฒ๋ฆฌ ๋๋์ง?
- Iptables์์ NAT(SNAT) ํ ์ด๋ธ์ด INPUT ์ฒด์ธ์ ์ ํํ ์ด๋ ์ํฉ์์ ์ฐ๋์ง?