---
title: 'Addon: Ambassador'
description: Canonical makes open source secure, reliable and easy to use, providing
  support for Ubuntu and a portfolio of enterprise-grade technologies. Founded in
  2004, Canonical operates globally with team members in over 80 countries.
url: https://canonical.com/microk8s/docs/addon-ambassador?format=md
---

*Submit*

# Addon: Ambassador

[Ambassador](https://www.getambassador.io/) is available in MicroK8s versions 1.19, 1.20, 1.21, 1.22 and 1.23. It has been removed in MicroK8s versions 1.24 and newer.

[Ambassador](https://www.getambassador.io/) API Gateway enables you to easily expose, secure, and manage traffic to your Kubernetes microservices of any type. Enable this add on with:

```
microk8s enable ambassador
```

You can now expose a `Service` by creating an `Ingress` . Note that Ambassador will only serve `Ingress` resources that include the annotation `kubernetes.io/ingress.class: ambassador` (otherwise they are just ignored).

For example:

```
cat<<EOF | microk8s.kubectl apply -f -
---
kind: Pod
apiVersion: v1
metadata:
  name: foo-app
  labels:
    app: foo
spec:
  containers:
  - name: foo-app
    image: hashicorp/http-echo:0.2.3
    args:
    - "-text=foo"
---
kind: Service
apiVersion: v1
metadata:
  name: foo-service
spec:
  selector:
    app: foo
  ports:
  # Default port used by the image
  - port: 5678
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    kubernetes.io/ingress.class: ambassador
spec:
  rules:
  - http:
      paths:
      - path: /foo
        backend:
          serviceName: foo-service
          servicePort: 5678
EOF
```

Now verify that the ingress works:

```
# should output "foo"
curl localhost/foo
```

Last updated 4 years ago. [Help improve this document in the forum](https://discuss.kubernetes.io/t/addon-ambassador/11806).
