Add on: Ambassador
Ambassador is available on the latest and 1.19+ tracks.
Ambassador 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 1 year, 1 month ago. Help improve this document in the forum.