# This proxy listens on 2 ports: # # 10000 -> routes to `service-1` # 10001 -> routes to `envoy-2` node: # The cluster name is used by Zipkin to identify the proxy. cluster: envoy-proxy-1 static_resources: listeners: - address: socket_address: address: 0.0.0.0 port_value: 10000 traffic_direction: INBOUND filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager tracing: provider: name: envoy.tracers.zipkin typed_config: "@type": type.googleapis.com/envoy.config.trace.v3.ZipkinConfig collector_cluster: zipkin collector_endpoint: "/api/v2/spans" collector_endpoint_version: HTTP_JSON codec_type: AUTO stat_prefix: ingress_http http_filters: - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router route_config: name: service1_route virtual_hosts: - name: service1 domains: - "*" routes: - match: prefix: "/" route: cluster: service_cluster1 decorator: operation: routeToService1 - address: socket_address: address: 0.0.0.0 port_value: 10001 traffic_direction: OUTBOUND filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager tracing: provider: name: envoy.tracers.zipkin typed_config: "@type": type.googleapis.com/envoy.config.trace.v3.ZipkinConfig collector_cluster: zipkin collector_endpoint: "/api/v2/spans" collector_endpoint_version: HTTP_JSON codec_type: AUTO stat_prefix: egress_http http_filters: - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router route_config: name: envoy2_route virtual_hosts: - name: envoy2 domains: - "*" routes: - match: prefix: "/" route: cluster: envoy_cluster2 decorator: operation: routeToEnvoy2 clusters: - name: service_cluster1 type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: cluster_name: service_cluster1 endpoints: - lb_endpoints: - endpoint: address: socket_address: address: service-1 port_value: 8080 - name: envoy_cluster2 type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: cluster_name: envoy_cluster2 endpoints: - lb_endpoints: - endpoint: address: socket_address: address: envoy-2 port_value: 10000 - name: zipkin type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: cluster_name: zipkin endpoints: - lb_endpoints: - endpoint: address: socket_address: address: zipkin port_value: 9411