Dynamic Routing by Envoy + Istio
by
Yuki Ito
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Dynamic Routing by Envoy + Istio Envoy Meetup Tokyo #1 Yuki Ito
Slide 2
Slide 2 text
Merpay Architect Team Backend Engineer Yuki Ito
Slide 3
Slide 3 text
Goal Multi-line QA microservice A PR 1 PR 2 PR 3
Slide 4
Slide 4 text
Architecture API Gateway VirtualService microservice A Service Pod PR 3 Service Pod PR 2 Service Pod PR 1 JWT
Slide 5
Slide 5 text
Architecture API Gateway VirtualService microservice A Service Pod PR 3 Service Pod PR 2 Service Pod PR 1 JWT microservice-A: PR-1
Slide 6
Slide 6 text
Custom HTTP Filter { "microservice-A": "PR-1", "microservice-B": "PR-2" } microservice-A: PR-1 microservice-B: PR-2 Request from APP Request to Upstream JWT Payload HTTP Header ɾɾɾ ɾɾɾ
Slide 7
Slide 7 text
Custom HTTP Filter EnvoyFilter spec: workloadLabels: mercari.com/service-router: enabled filters: - listenerMatch: listenerType: SIDECAR_OUTBOUND listenerProtocol: HTTP filterName: envoy.lua filterType: HTTP filterConfig: inlineCode: | ...
Slide 8
Slide 8 text
Custom HTTP Filter
Slide 9
Slide 9 text
Routing via VirtualService VirtualService http: - match: - headers: microservice-A: exact: "PR-1" route: - destination: host: pr-1.microservice-a.svc.cluster.local ...
Slide 10
Slide 10 text
Architecture API Gateway VirtualService microservice A Service Pod PR 3 Service Pod PR 2 Service Pod PR 1 JWT