In this video I show you how to configure Envoy proxy to perform simple tasks like basic TCP load balancing of two instances, and HTTP path based routing.
Envoy is a wonderful tool and while it is often paired with a control plane for configuration it is possible to use it on its own.
I delve into the architecture for Envoy explaining the Listeners, Filters, and Clusters and how to write Envoy configuration to load balance and route connections for Docker containers and Kubernetes services.
Links:
TCP Load balancing (
https://youtu.be/D0cuv1AEftE?t=312)
https://github.com/nicholasjackson/envoy-experiments/tree/master/tcp-loadbalancing
HTTP Routing with Docker Containers (
https://youtu.be/D0cuv1AEftE?t=1424)
https://github.com/nicholasjackson/envoy-experiments/tree/master/routing-simple
HTTP Routing with Kubernetes Services (
https://youtu.be/D0cuv1AEftE?t=2147)
https://github.com/nicholasjackson/envoy-experiments/tree/master/routing-simple-kubernetes
https://www.envoyproxy.io/
To run the examples I use Shipyard which is a tool for creating cloud native dev environments with Docker.
https://shipyard.run/