Closed esc-beep closed 2 weeks ago
@esc-beep 말씀하신 envoy의 구성요소 들인 listener와 cluster 가 링크 내용에 있는데 좀 도움이 될 것 같네요 저도 궁금한 내용입니다
@esc-beep
"envoy를 주입할 때 웹훅 방식으로 주입"
하는 내용은 제가 Envoy Proxy가 Application Pod에 injection 되는 상세 과정은? 이라는 issue를 등록해서 보고 있는데 참고해서 같이 봐주시면 좋을 것 같아요
Question / 질문 내용 istio-ingressgateway가 어떻게 적절한 파드로 라우팅하는지 과정이 궁금합니다.
Context / 상황 설명 https://jimmysong.io/en/blog/envoy-gateway-integration-istio-mesh/ 해당 아키텍처에서 istio-ingressgateway가 cluster edge에서 트래픽을 받아서 적절한 파드로 라우팅을 해주는데, 해당 과정이 어떻게 일어나는지 궁금합니다.
What I've Tried / 시도한 방법 질문에 대한 답을 찾기 위해 시도해본 방법이 있다면 설명해주세요
해당 명령어를 실행하면 istio-proxy가 나오는데, 그렇다면 istio-ingressgateway pod에도 마찬가지로 application pod에 주입된 istio-proxy container 와 같은 envoy-proxy를 통해 라우팅이 이루어집니다. 그렇다면 ingress gateway는 적절한 파드를 어떻게 찾아서 라우팅하는 것인지 궁금합니다.
Resources / 관련 자료 질문과 관련된 문서, 링크, 코드 등이 있다면 여기에 첨부해주세요
해당 issue에 대해서 찾아봤을 때 ingress gateway는 envoy를 통해 라우팅을 하는 것 같습니다.
https://www.envoyproxy.io/docs/envoy/latest/intro/life_of_a_request
해당 링크에서 envoy 아키텍처를 살펴보면 envoy는 listner와 cluster라는 2개의 주요 구성이 있고,
listner와 cluster는 HTTP router filter로 연결되어 있으며 filter는 listener로부터 받은 요청을 filtering, 조작, 인증 등을 거쳐 cluster로 routing 하는 역할을 합니다.
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers 기본적으로 round robin 방식을 선택해 순차적으로 각 엔드포인트로 라우팅을 진행하는 것 같습니다!
Additional context / 추가 사항 기타 추가적인 정보나 생각이 있다면 여기에 작성해주세요
envoy를 주입할 때 웹훅 방식으로 주입한다고 하는데, 그 부분도 찾아보도록 하겠습니다.