How to easily deploy and manage your microservices with Traefik and Maesh

Manuel Zapf
Head of Product Open Source @ Containous
Maintainer on Traefik

We Believe in Open Source
We Deliver Traefik, Traefik Enterprise Edition, Maesh
Commercial Support
30 people distributed, 90% tech





















That You Don’t Have to Write This Configuration File…?


Revamped Documentation
Clarified Concepts
Expressive Routing Rule Syntax
Middlewares
TCP Support
Canary / Mirroring
And so Much More…












apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: corporate-webapp
annotations:
kubernetes.io/ingress.class: 'traefik'
spec:
rules:
- host: localhost
http:
paths:
- backend:
serviceName: corporate-webapp
servicePort: 80# File "webapp.yaml"
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: simpleingressroute
spec:
entryPoints:
- web
routes:
- match: Host(`localhost`) && PathPrefix(`/whoami`)
kind: Rule
services:
- name: webapp
port: 80
$ kubectl apply -f webapp.yaml
$ kubectl get ingressrouteapiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
name: ingressroutetcpmongo.crd
spec:
entryPoints:
- mongotcp
routes:
- match: HostSNI(`mongo-prod`)
services:
- name: mongo-prod
port: 27017stickers!

docker run -it containous/jobs