Skip to content

Commit

Permalink
Docs for using Ambassador as Ingress Controller
Browse files Browse the repository at this point in the history
This commit adds support for installing Ambassador
(https://getambassador.io/) as an Ingress Controller.

Ambassador is installed via the Ambassador Operator which
is the recommended way of installed Ambassador (it makes sure
users always have the latest version of Ambassador installed
and takes care of the update schedule as well).
  • Loading branch information
inercia committed May 15, 2020
1 parent b67c05e commit 1a7146c
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions site/content/docs/user/ingress.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ by the ingress controller `nodeSelector`.

1. [Create a cluster](#create-cluster)
2. Deploy an Ingress controller, the following ingress controllers are known to work:
- [Ambassador](#ambassador)
- [Contour](#contour)
- [Ingress NGINX](#ingress-nginx)

Expand Down Expand Up @@ -84,6 +85,38 @@ Refer to [Using Ingress](#using-ingress) for a basic example usage.

Additional information about Contour can be found at: [projectcontour.io](https://projectcontour.io)

### Ambassador

[Ambassador OSS](https://www.getambassador.io/) will be installed with the help of
the [Ambassador operator](https://www.getambassador.io/docs/latest/topics/install/aes-operator/).

First install the CRDs with

{{< codeFromInline lang="bash" >}}
kubectl apply -f https://github.com/datawire/ambassador-operator/releases/latest/download/ambassador-operator-crds.yaml
{{< /codeFromInline >}}

Now install the kind-specific manifest for installing Ambassador OSS with the operator
in the `ambassador` namespace:

{{< codeFromInline lang="bash" >}}
kubectl apply -n ambassador -f https://github.com/datawire/ambassador-operator/releases/latest/download/ambassador-operator-kind.yaml
kubectl wait --timeout=180s -n ambassador --for=condition=deployed ambassadorinstallations/ambassador
{{< /codeFromInline >}}

Ambassador OSS is now ready for use. You can try the example in [Using Ingress](#using-ingress) at this moment,
but Ambassador will not automatically load the `Ingress` defined there. `Ingress` resources must include
the annotation `kubernetes.io/ingress.class: ambassador` for being recognized by Ambassador (otherwise they are just ignored).
So once the example has been loaded you can add this annotation with a `patch`:

{{< codeFromInline lang="bash" >}}
kubectl patch ingress example-ingress -p '{"metadata":{"annotations":{"kubernetes.io/ingress.class": "ambassador"}}}'
{{< /codeFromInline >}}

Ambassador should be exposing your Ingress now. Please find additional documentation on
Ambassador [here](https://www.getambassador.io/docs/latest/).


### Ingress NGINX

{{< codeFromInline lang="bash" >}}
Expand Down

0 comments on commit 1a7146c

Please sign in to comment.