7주차 - Service Mesh: Envoy
Last updated
Last updated
네트워크는 애플리케이션에 투명해야하고, 장애가 발생했을때 파악하기 쉽게 하기 위함
네트워크 프록시의 일종으로 동적 구성을 지원하고 관찰성과 네트워크 정책들을 내부 서비스간 쉽게 지원할 수 있습니다.
Cluster: Envoy가 트래픽을 포워드 하는 논리적인 엔드포인트 세트
Endpoint: 네트워크 노드로 클러스터로 그룹화됨
Listener: IP/PORT를 바인딩하고 다운스트림에서 요청을 처리하는 역할
Route: Listener로 들어온 요청들이 어디로 라우팅 할것인지 정의, Cluster로 라우팅 된다.
Filter: Listener로부터 Cluster에 어떻게 라우팅할지 설정
Upstream: 업스트림 호스트는 요청을 받고 응답을 반환한다.
Downstream: 다운스트림 호스트는 요청을 envoy에 보내고 응답을 받는다.
Configuration
설정값들로, 네트워크, 라우팅, 클러스터 정보들을 일컫습니다.
Control Plane
Envoy가 설정해야되는 설정 값들을 수집하고 관리합니다.
xDS Sync API는 Control Plane의 Pilot이 Proxy에 전파하는 값들로 다음과 같이 구분 되어 있습니다.
LDS - Listener Discovery Service : Envoy 리스너 설정
RDS - Route Discovery Service : 트래픽 라우팅 규칙
CDS - Cluseter Discovery Service : 클러스터 정보 전달
EDS - Endpoint Discovery Service : 엔드포인트 정보를 전
여기서 실제로 설정되어있는 값들을 확인할 수 있고, 설정을 할 수 있습니다.
envoy로 10000 포트로 들어오는 http 요청을 www.envoyproxy.io 로 전달합니다.
service_envoyproxy_io 클러스터가 TLS를 사용합니다.
HTTP 로 직접 붙게되면 ENVOY로 네트워크 결과가 프록시되는것을 확인할 수 있다.