2.2.2. Red Hat OpenShift Service Mesh 아키텍처
Red Hat OpenShift Service Mesh는 논리적으로 데이터 플레인과 컨트롤 플레인으로 분할됩니다.
데이터 플레인은 사이드카로 배포된 지능적 프록시 세트입니다. 이러한 프록시는 서비스 메시에서 마이크로 서비스 간의 모든 인바운드 및 아웃바운드 네트워크 통신을 가로채기하고 제어합니다. 또한 사이드카 프록시는 범용 정책 및 Telemetry 허브인 Mixer와 통신합니다.
- Envoy proxy는 서비스 메시의 모든 서비스에 대한 인바운드 및 아웃바운드 트래픽을 가로채기합니다. Envoy는 동일한 pod에서 관련 서비스에 사이드카로 배포됩니다.
컨트롤 플레인은 트래픽을 라우팅하기 위해 프록시를 관리 및 구성하며, 정책을 적용하고 Telemetry를 수집하도록 Mixers를 구성합니다.
- Mixer는 액세스 제어 및 사용 정책(예: 권한 부여, 속도 제한, 할당량, 인증 및 요청 추적)을 시행하고 Envoy 프록시 및 기타 서비스에서 Telemetry 데이터를 수집합니다.
- Pilot은 런타임 시 프록시를 구성합니다. Pilot은 Envoy 사이드카에 대한 서비스 검색, 지능형 라우팅을 위한 트래픽 관리 기능(예: A/B 테스트 또는 카나리아 배포) 및 복구 기능(시간 초과, 재시도 및 회로 차단기)을 제공합니다.
- Citadel은 인증서를 발행 및 교체합니다. Citadel은 내장 ID 및 자격 증명 관리를 통해 강력한 서비스 간 인증과 최종 사용자 인증을 제공합니다. Citadel을 사용하여 서비스 메시에서 암호화되지 않은 트래픽을 업그레이드할 수 있습니다. Operator는 Citadel을 사용하여 네트워크 제어가 아닌 서비스 ID를 기반으로 정책을 시행할 수 있습니다.
- Galley는 서비스 메시 구성을 수집한 다음, 구성의 유효성을 검증, 처리 및 배포합니다. Galley는 다른 서비스 메시 구성 요소가 OpenShift Container Platform에서 사용자 구성 세부 정보를 얻지 못하도록 보호합니다.
또한 Red Hat OpenShift Service Mesh는 istio-operator를 사용하여 컨트롤 플레인 설치를 관리합니다. Operator는 OpenShift Container Platform 클러스터에서 공통 활동을 구현하고 자동화할 수 있는 소프트웨어입니다. 컨트롤러 역할을 하여 클러스터에서 원하는 오브젝트 상태를 설정하거나 변경할 수 있습니다.