Routing Your Microservices Architecture To Ease DevOps Enterprise Transformation
Devops Gathering 2020
1
Routing Your Microservices Architecture To Ease DevOps Enterprise - - PowerPoint PPT Presentation
Routing Your Microservices Architecture To Ease DevOps Enterprise Transformation Devops Gathering 2020 1 Whoami Manuel Zapf Head of Product Open Source @ Containous Maintainer on Traek @mZapfDE SantoDE 2 Containous
Devops Gathering 2020
1Manuel Zapf Head of Product Open Source @ Maintainer on Containous Traek @mZapfDE SantoDE
2We Believe in Open Source We Deliver Traek, Traek Enterprise Edition, Maesh Commercial Support 30 people distributed, 90% tech https://containo.us
3 . 1Source: Twitter[]
3 . 7That You Don’t Have to Write This Conguration File… ?
3 . 8Revamped Documentation Claried Concepts Expressive Routing Rule Syntax Middlewares TCP Support Canary / Mirroring And so Much More…
Learn more on the blog post
4 . 3Diagram from https://medium.com/@geraldcroes
7 . 1apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: corporate-webapp annotations: kubernetes.io/ingress.class: 'traefik' spec: rules:
http: paths:
serviceName: corporate-webapp servicePort: 80
7 . 2# File "webapp.yaml" apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: simpleingressroute spec: entryPoints:
routes:
kind: Rule services:
port: 80 $ kubectl apply -f webapp.yaml $ kubectl get ingressroute
7 . 3apiVersion: traefik.containo.us/v1alpha1 kind: IngressRouteTCP metadata: name: ingressroutetcpmongo.crd spec: entryPoints:
routes:
services:
port: 27017
7 . 4Maesh is a lightweight, easy to congure, and non-invasive service mesh that allows visibility and management of the trafc
Built on top of Traek, SMI (Service Mesh Interface specication) compliant, Opt-in by default. Maesh Website
8 . 5Install Maesh (Helm Chart): Deploy Applications: Deploy SMI Objects to allow trafc in the mesh:
helm repo add maesh https://containous.github.io/maesh/charts helm repo update helm install --name=maesh --namespace=maesh maesh/maesh --values=./maesh/values.yaml kubectl apply -f apps/0-namespace.yaml kubectl apply -f apps/1-svc-accounts.yaml kubectl apply -f apps/2-apps-client.yaml kubectl apply -f apps/3-apps-servers.yaml kubectl apply -f apps/4-ingressroutes.yaml kubectl apply -f apps/5-smi-http-route-groups.yaml kubectl apply -f apps/6-smi-traffic-targets.yaml
8 . 6apiVersion: specs.smi-spec.io/v1alpha1 kind: HTTPRouteGroup metadata: name: app-routes namespace: apps matches:
pathRegex: "/" methods: ["*"]
kind: TrafficTarget metadata: name: client-apps namespace: apps destination: kind: ServiceAccount name: apps-server namespace: apps specs:
name: app-routes matches:
sources:
name: apps-client namespace: apps
8 . 7docker run -it containous/jobs
9 . 3 @mZapfDE SantoDE
Slides (HTML): https://containous.github.io/slides/devops-gathering-2020 Slides (PDF): https://containous.github.io/slides/devops-gathering-2020/slides.pdf Source on : https://github.com/containous/slides/tree/devops-gathering-2020
10