Envoy as an API Gateway in Kubernetes with Ambassador

    This example will walk through how you can deploy Envoy on Kubernetes via Ambassador.

    Ambassador is configured via Kubernetes deployments. To install Ambassador/Envoy on Kubernetes, run the following if you’re using a cluster with RBAC enabled:

    or this if you are not using RBAC:

    We’ll now need to create a Kubernetes service to point to the Ambassador deployment. In this example, we’ll use a LoadBalancer service. If your cluster doesn’t support LoadBalancer services, you’ll need to change to a or ClusterIP.

    Save this YAML to a file ambassador-svc.yaml. Then, deploy this service to Kubernetes:

      At this point, Envoy is now running on your cluster, along with the Ambassador control plane.

      Save the above into a file called google.yaml. Then run:

      1. kubectl apply -f google.yaml

      Ambassador will detect the change to your Kubernetes annotation and add the route to Envoy. Note that we used a dummy service in this example; typically, you would associate the annotation with your real Kubernetes service.

      You can test this mapping by getting the external IP address for the Ambassador service, and then sending a request via .