간략하게 말하면...
쿠버네티스 클러스터안의 서비스들(MSA) 사이의 네트워크화된 공간을 서비스 메시(service mesh)라고 합니다.
이 서비스 메시를 관리하는 기술을 이스티오라고 합니다.
[서비스메시]
네트워크에서 사용되는 공통된 행동들 예를들어 로드 밸런싱 같은것들은 네트워크 서비스 에서 이를 필요료하지 않는 경우는 없습니다. 또한 이기종간의 네트워크 통신을 테스트 하거나 인증을 설정할수도 있는데 이를 통칭하여 서비스 메시라고 합니다.
[이스티오]
처음에 설명한 대로 서비스 메시를 관리하기 위한 기술로 쿠버네티스에 탑재되어 서비스 메시 기능을 지원합니다.
* 2가지 핵심적 기능
- 로드 밸런싱, 라우팅, 재시도 등 중요한 네트워크 트래픽 작업을 서비스 자체와 분리합니다.
- 관리자를 위한 추상 계층을 제공하여 트래픽에 대한 우선순위를 결정하기 용이해집니다.
(서비스 디스커버리, 라우팅, 로드 밸런싱, 로깅, 모니터링, 보안, 트레이싱 등 )
* 주요 구성 요소
Envoy
Envoy 프록시의 확장 버전을 사용
(Envoy - 서비스 메시의 모든 서비스에 대한 모든 인바운드 및 아웃바운드 트래픽을 중재하기 위해 C++로 개발된 고성능 프록시)
- 동적 서비스 검색 (디스커버리)
- 부하 분산 (로드밸런싱)
- TLS 인증서 처리
- HTTP/2 및 gRPC 프록시
- 회로 차단기 (서킷브레이커)
- 상태 확인 (헬스체크)
- % 기반 트래픽 분할이 있는 단계적 출시 (트래픽을 스테이지 단계별로 나눠서 보내는 기능)
- 결함 주입 (실패 삽입)
- 풍부한 측정항목
Mixer
플랫폼 독립적인 컴포넌트로 전체 서비스메쉬에서 접근 정책을 관리하고 Envoy 프록시와 다른 서비스들에서 모니터링 데이터를 수집합니다.
Pilot
Pilot은 엔보이에 대한 서비스 디스커버리, 라우팅(A/B 테스트, 카나리 배포)용 트래픽 관리 기능, 타임아웃, 재시도, 서킷브레이커 같은 기능들을 제공합니다.
Citadel
citadel은 내장된 인증 관리를 이용해서 서비스간, 엔드유저간 인증을 강화하는 역할을 합니다.
citadel을 이용해서 권한 관리를 할수 있습니다.
Galley
istio의 설정을 validation, ingestion, processing, distribution 하는 역할을 합니다.
https://arisu1000.tistory.com/27865
'Docker_k8s' 카테고리의 다른 글
[Docker] Could not chdir to home directory (0) | 2022.12.16 |
---|---|
[Docker] 볼륨(Volume) - nginx 예제 (0) | 2022.12.16 |
[Docker] Block I/O 제한하기 (0) | 2022.12.14 |
[Docker] MySQL 컨테이너 설치 및 접속 (0) | 2022.12.14 |
[Docker] Portainer 사용하기 (0) | 2022.12.12 |