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).
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