diff --git a/doc/source/ingress/ambassador.md b/doc/source/ingress/ambassador.md index 325ed75c0e..00885de666 100644 --- a/doc/source/ingress/ambassador.md +++ b/doc/source/ingress/ambassador.md @@ -2,28 +2,34 @@ Seldon Core works well with [Ambassador](https://www.getambassador.io/), allowing a single ingress to be used to expose ambassador and [running machine learning deployments can then be dynamically exposed](https://kubernetes.io/blog/2018/06/07/dynamic-ingress-in-kubernetes/) through seldon-created ambassador configurations. In this doc we will discuss how your Seldon Deployments are exposed via Ambassador and how you can use both to do various production rollout strategies. +## Installing Ambassador Edge Stack + +The recommended approach for installing the Ambassador Edge Stack (AES) is to use [Edge Control](https://www.getambassador.io/docs/latest/topics/using/edgectl/edge-control/). The ```edgectl install``` command will provision a load balancer, configure TLS, and provide you with an edgestack.me subdomain. The edgestack.me subdomain allows the Ambassador Edge Stack to automatically provision TLS and HTTPS for a domain name. To install AES using edgectl follow the installation instructions [here](https://www.getambassador.io/docs/latest/topics/install/). + +Once the installation has finished, you can run ```edgectl login --namespace=ambassador ``` to access the Ambassador Edge Policy Console where you can manage your deployment. The Hosts tab will provide information about the domain that Ambassador set up during the installation process, this is where you will find the `````` referenced below. + ## Ambassador REST -Assuming Ambassador is exposed at `````` and with a Seldon deployment name `````` running in a namespace ```namespace```: +Assuming Ambassador is exposed at `````` and with a Seldon deployment name `````` running in a namespace ```namespace```: For Seldon Core restricted to a namespace, `singleNamespace=true`, the endpoints exposed are: - * ```http:///seldon//api/v1.0/predictions``` - * ```http:///seldon///api/v1.0/predictions``` + * ```https:///seldon//api/v1.0/predictions``` + * ```https:///seldon///api/v1.0/predictions``` For Seldon Core running cluster wide, `singleNamespace=false`, the endpoints exposed are all namespaced: - * ```http:///seldon///api/v1.0/predictions``` + * ```https:///seldon///api/v1.0/predictions``` ## Example Curl ### Ambassador REST -Assuming a Seldon Deployment ```mymodel``` with Ambassador exposed on `0.0.0.0:8003`: +Assuming a Seldon Deployment ```mymodel``` with Ambassador exposed on `random-hostname-1234.edgestack.me`: ```bash -curl -v 0.0.0.0:8003/seldon/mymodel/api/v1.0/predictions -d '{"data":{"names":["a","b"],"tensor":{"shape":[2,2],"values":[0,0,1,1]}}}' -H "Content-Type: application/json" +curl -v https://random-hostname-1234.edgestack.me/seldon/mymodel/api/v1.0/predictions -d '{"data":{"names":["a","b"],"tensor":{"shape":[2,2],"values":[0,0,1,1]}}}' -H "Content-Type: application/json" ``` ## Ambassador Configuration Annotations Reference