Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
80 lines (79 sloc) 2.58 KB
# The static_resources block contains definitions for clusters and listeners that aren’t dynamically managed
static_resources:
listeners:
# Listener configured to listen on port 80
- address:
socket_address:
address: 0.0.0.0
port_value: 80
# Listner's filter chain is configured that Envoy to manage HTTP traffic.
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
# Virtual host configures to accept traffic for all domains.
# With Routes, mapping traffic for /service/blue, /service/green, and /service/red to the appropriate clusters.
virtual_hosts:
- name: backend
domains:
- "*"
routes:
- match:
prefix: "/service/blue"
route:
cluster: service_blue
- match:
prefix: "/service/green"
route:
cluster: service_green
- match:
prefix: "/service/red"
route:
cluster: service_red
http_filters:
- name: envoy.router
config: {}
# Static Clouster configurations:
# You can configure timeouts, circuit breakers, discovery settings, and more on clusters
# Clusters are composed of endpoints – a set of network locations that can serve requests for the cluster.
# In this example, endpoints are canonically defined in DNS, which Envoy can read from.
# Endpoints can also be defined directly as socket addresses, or read dynamically via the Endpoint Discovery Service.
clusters:
- name: service_blue
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
http2_protocol_options: {}
hosts:
- socket_address:
address: service_blue
port_value: 80
- name: service_green
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
http2_protocol_options: {}
hosts:
- socket_address:
address: service_green
port_value: 80
- name: service_red
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
http2_protocol_options: {}
hosts:
- socket_address:
address: service_red
port_value: 80
admin:
access_log_path: "/dev/null"
# The address object tells Envoy to create an admin server listening on port 8001.
address:
socket_address:
address: 0.0.0.0
port_value: 8001