Ssoon
2주차 : Istio 데이터 플레인 > The Envoy proxy : Envoy와 Istio의 사용 방법 본문
2주차 : Istio 데이터 플레인 > The Envoy proxy : Envoy와 Istio의 사용 방법
구구달스 2025. 4. 15. 13:28CloudNet@ 가시다님이 진행하는 Istio Hands-on Study [1기]
🚀 Envoy와 Istio: 서비스 메시의 완벽한 파트너
Envoy Proxy는 Istio 서비스 메시의 핵심 구성 요소로, 대부분의 기능을 구현하는 데 중요한 역할을 합니다. 하지만 Envoy 혼자서는 모든 것을 처리할 수 없으며, Istio의 Control Plane과 같은 지원 인프라가 필요합니다.
Envoy는 Istio의 Data Plane에서 핵심 역할을 하며, Istio의 지원 인프라와 함께 서비스 메시를 완성합니다.
🛠️ Envoy의 역할: Istio의 강력한 엔진
Envoy는 Istio의 Data Plane에서 트래픽을 처리하는 강력한 프록시입니다. Service Mesh 환경에 최적화된 Envoy는 트래픽 라우팅, 메트릭 수집, TLS 처리 같은 기능을 제공합니다. 하지만 이러한 기능들을 최대한 활용하려면 사용자 설정, 보안 정책, 런타임 설정을 관리하는 Control Plane이 필요합니다. Istio는 이를 istiod 컴포넌트를 통해 제공합니다.
Envoy는 Istio의 Data Plane에서 트래픽 처리를 담당하며, istiod가 이를 제어합니다.
🌐 xDS APIs와 Istio: 동적 설정의 연결고리
Envoy는 xDS APIs(LDS, RDS, CDS, EDS 등)를 통해 Listeners, Routes, Clusters를 동적으로 설정할 수 있습니다. Istio의 istiod는 이러한 xDS APIs를 구현해 Kubernetes API에서 Virtual Services 같은 설정을 읽고, Envoy 프록시에 동적으로 적용합니다. 이를 통해 Envoy는 복잡한 설정 과정을 Istio가 추상화한 상태에서 동작합니다.
istiod는 xDS APIs를 구현해 Kubernetes 설정을 Envoy에 동적으로 전달합니다.
🔍 Service Discovery: 추상화된 서비스 탐색
Envoy는 Service Discovery를 위해 서비스 레지스트리에 의존합니다. Istio는 istiod를 통해 이를 추상화해 Envoy가 특정 레지스트리 구현에 의존하지 않도록 합니다. 예를 들어, Kubernetes 환경에서는 Istio가 Kubernetes Service Registry를 사용해 엔드포인트를 제공하며, Envoy는 이러한 세부 사항을 알 필요 없이 동작합니다.
Istio는 Service Discovery를 추상화해 Envoy가 Kubernetes Service Registry를 간접적으로 활용하게 합니다.
📊 Telemetry와 메트릭: 관찰 가능성 강화
Envoy는 요청 시간, 에러율 같은 Telemetry 데이터를 생성하지만, 이 데이터를 저장하고 활용하려면 추가 설정이 필요합니다. Istio는 Envoy를 Prometheus 같은 시계열 시스템과 통합하도록 설정합니다. 또한, Distributed Tracing을 위해 Envoy가 Jaeger나 Zipkin 같은 OpenTracing 엔진에 스팬을 전송하도록 구성합니다.
Istio는 Envoy의 Telemetry를 Prometheus와 Jaeger/Zipkin에 통합해 관찰 가능성을 높입니다.
🔒 TLS와 보안: 안전한 통신 보장
Envoy는 TLS Termination과 Origination을 통해 서비스 간 보안 통신을 지원합니다. 이를 위해 인증서를 생성, 서명, 갱신하는 인프라가 필요합니다. Istio의 istiod는 Mutual TLS를 위한 인증서를 제공해 Envoy가 안전한 통신을 구현하도록 돕습니다.
istiod는 Mutual TLS 인증서를 제공해 Envoy의 보안 통신을 지원합니다.
🤝 Envoy와 Istio의 시너지: 강력한 서비스 메시
Envoy와 Istio는 함께 강력한 Service Mesh를 형성합니다. Envoy는 Data Plane에서 트래픽을 처리하고, Istio는 Control Plane에서 설정, 보안, 관찰 가능성을 관리합니다. 두 프로젝트 모두 활발한 오픈 소스 커뮤니티를 가지고 있으며, 차세대 서비스 아키텍처에 최적화되어 있습니다.
Envoy와 Istio는 Data Plane과 Control Plane으로 협력해 강력한 Service Mesh를 구현합니다.
📝 요약: Envoy와 Istio의 조화
Envoy Proxy는 Istio의 Data Plane에서 트래픽 처리, 메트릭 생성, TLS 관리 같은 핵심 기능을 수행합니다. Istio의 istiod는 xDS APIs를 구현해 Kubernetes 설정을 동적으로 적용하고, Service Discovery를 추상화하며, Prometheus, Jaeger/Zipkin 같은 시스템과 통합합니다. 또한, Mutual TLS를 위한 인증서를 제공해 보안을 강화합니다. Envoy와 Istio는 활발한 커뮤니티와 함께 Service Mesh를 위한 완벽한 조합을 이룹니다.
'Istio Hands-on Study [1기]' 카테고리의 다른 글
2주차 : Istio gateways > 클러스터로 트래픽 유입 : Istio ingress gateways (0) | 2025.04.15 |
---|---|
2주차 : Istio gateways > 클러스터로 트래픽 유입 : 트래픽 유입 개념 (0) | 2025.04.15 |
2주차 : Istio 데이터 플레인 > The Envoy proxy : Envoy in action (0) | 2025.04.15 |
2주차 : Istio 데이터 플레인 > The Envoy proxy : Envoy 구성 (0) | 2025.04.15 |
2주차 : Istio 데이터 플레인 > The Envoy proxy : Envoy 프록시란 무엇인가요? (0) | 2025.04.15 |