목차
- Istio - Locality Load Balancing (지역 로드 밸런싱)
- Istio - Sidecar Injection
- Istio - Istio 설치 및 addon 설치
- Istio 란?
참고
- https://istio.io/latest/docs/ops/deployment/architecture/
- https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
- https://happycloud-lee.tistory.com/104
Sidecar injection
Istio는 Pod 안에 Envoy proxy container 를 Sidecar 패턴으로 생성하여 Service Mesh (discovery, connect, monitor) 를 합니다. Pod안에 Proxy container를 삽입하는것을 Sidecar Injection 이라고 부릅니다.
Istio 에서 Sidecar Injection 은 Kubernetes 의 MutatingAdmissionWebhook 을 사용하여 구현됩니다. 이것은 Kubernetes의 API Server에 대한 요청 처리 중에 사용되며, 새로운 Pod가 생성될 때 Istio가 Sidecar Proxy 컨테이너를 자동으로 추가하는 것을 가능하게 합니다.
Istio가 Sidecar를 주입하는 방식은 크게 두 가지 방법이 있습니다. 첫 번째는 자동 주입 방식으로, 이는 기존의 Kubernetes 오브젝트에 Istio의 Sidecar Proxy를 자동으로 추가합니다. 이를 위해서는 Istio의 설치 시 Kubernetes 리소스를 수정해야 합니다. 두 번째 방식은 수동 주입 방식으로, 이는 기존의 Kubernetes 오브젝트에 Istio의 Sidecar Proxy를 수동으로 추가해야 합니다.
Sidecar 자동 주입 방식
kubectl label ns <namespace> istio-injection=enabled |
Envoy 프록시 생성 확인
생성된 Pod 내에서 istio-proxy Container 가 생성된 것을 확인할 수 있다.
Containers: |
Sidecar 자동 주입 방식 제거
label을 제거할때는 아래 예제와 같이 key뒤에 -
를 붙이면 됩니다.
kubectl label ns <namespace> istio-injection- |
kubectl get mutatingwebhookconfiguration -o yaml |
NAME WEBHOOKS AGE |