Kubernetes
Istio
재심
2023. 1. 31. 23:27
[Istio?]
- Service Mesh를 구현할 수 있는 오픈소스 솔루션.
- 서비스에 경량화 프록시(Proxy)를 사이드카(sidecar) 방식으로 배치하여 서비스 간 통신을 제어.
- Istio를 사용하면 Application 코드의 변경없이 로드밸런싱, 서비스간 인증, 모니터링 등을 적용하여 마이크로 서비스를 쉽게 관리할 수 있다.
- 마이크로서비스간의 모든 네트워크 통신을 담당하는 프록시인 Envoy를 서비스마다 배포한다음 프록시들의 설정값을 저장하고 관리하는 컨트롤러 역할을 한다.
- 각각의 마이크로 서비스에 사이드카 형태로 배포된 envoy프록시를 Data Plane이라고하며, Data Plane을 컨트롤하는 부분을 Control Plane이라고 한다.
[Istio 구조]
- Data Plane: 각 서비스에 사이드카로 부착되는 Envoy 프록시 영역이다. 각 서비스로 들어오고 나가는 모든 트래픽을 통제한다. 서비스의 IP주소는 파일럿 (Pilot)에 저장된 엔드포인트 정보를 활용한다.
- Control Plane: Data Plane인 Envoy를 컨트롤 하는 부분이다. 1.4버전까지 구성했던 컴포넌트와 1.5버전부터 구성된 컴포넌트가 조금씩 다르다.
Control Plane - 1.4
- 믹서(Mixer): Service Mesh 액세스 컨트롤 및 정책관리. 서비스 모니터링 지표 수정
- 파일럿(Pilot): Enovy 설정관리를 수행하는 모듈. Envoy가 호출하는 서비스의 주소를 얻을 수 있는 '서비스디스커버리' 기능 제공. 서비스 안정성을 위한 Retry, CircuitBreaker, Timeout 등의 기능을 제공
- 시타델(Citadel): 보안관련 기능 수행. Authentication, Authorization을 통한 서비스간 인증강화. SSL 인증서 관리등의 역할 수행
- 갤리(Galley): Istio 구성 및 설정 검증, 배포 관리 수행
Control Plane - 1.5
1.5버전부터는 통합 Control Plane인 istiod가 이러한 역할을 통합해서 수행한다.
[참조]
Istio 아키텍처와 기능 이해하기 (velog.io)
Istio 아키텍처와 기능 이해하기
Istio 아킥텍처와 기능
velog.io
Istio란 무엇인가?
이번 글에서는 Istio의 정의, 구조 및 특징에 대해 알아볼 것이다. 이 글의 순서는 다음과 같다. 1. 서비스 메쉬(Service Mesh)란? 2. Istio 정의 3. Istio 구조 4. Istio 구성요소 5. Istio 주요 특징 1. 서비스 메
twofootdog.tistory.com