routing your microservices architecture to ease devops
play

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


  1. Routing Your Microservices Architecture To Ease DevOps Enterprise Transformation Devops Gathering 2020 1

  2. Whoami Manuel Zapf Head of Product Open Source @ Containous Maintainer on Trae�k  @mZapfDE  SantoDE 2

  3. Containous https://containo.us We Believe in Open Source We Deliver Trae�k, Trae�k Enterprise Edition, Maesh Commercial Support 30 people distributed, 90% tech 3 . 1

  4. 3 . 2

  5. The Premise Of Microservices… 3 . 3

  6. … And What Happens 3 . 4

  7. Where’s My Service? 3 . 5

  8. Tools Of The Trade 3 . 6

  9. Source: Twitter[] 3 . 7

  10. What If I Told You? That You Don’t Have to Write This Con�guration File… ? 3 . 8

  11. Here Comes Traefik! 4 . 1

  12. Traefik Project 4 . 2

  13. Traefik 2.0 Quick Overview Revamped Documentation Clari�ed Concepts Expressive Routing Rule Syntax Middlewares TCP Support Canary / Mirroring And so Much More… Learn more on the blog post 4 . 3

  14. Traefik (V2.0) Core Concepts 5 . 1

  15. Traefik Is An Edge Router 5 . 2

  16. Dynamically Discovers Services 5 . 3

  17. Architecture (V2.0) At A Glance 5 . 4

  18. Entrypoints 5 . 5

  19. Routers 5 . 6

  20. Middlewares 5 . 7

  21. Services 5 . 8

  22. Architecture (Again) At A Glance 5 . 9

  23. Static & Dynamic Configuration 5 . 10

  24. Traefik And Let’s Encrypt 6 . 1

  25. HTTPS & Let’s Encrypt 6 . 2

  26. Traefik With ⎈ Diagram from https://medium.com/@geraldcroes 7 . 1

  27. Ingress Example With ⎈ 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 7 . 2

  28. ⎈ CRD - Custom Resources Definition # 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 ingressroute 7 . 3

  29. ⎈ & TCP (With CRD) apiVersion: traefik.containo.us/v1alpha1 kind: IngressRouteTCP metadata: name: ingressroutetcpmongo.crd spec: entryPoints: - mongotcp routes: - match: HostSNI(`mongo-prod`) services: - name: mongo-prod port: 27017 7 . 4

  30. East / West Traefik 8 . 1

  31. Say Hello To Maesh 8 . 2

  32. What Is Maesh? Maesh is a lightweight, easy to con�gure, and non-invasive service mesh that allows visibility and management of the traf�c �ows inside any Kubernetes cluster. 8 . 3

  33. Maesh Architecture 8 . 4

  34. More On Maesh Built on top of Trae�k, SMI (Service Mesh Interface speci�cation) compliant, Opt-in by default. Maesh Website 8 . 5

  35. Show Me The Code! Install Maesh (Helm Chart): 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 Deploy Applications: 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 Deploy SMI Objects to allow traf�c in the mesh: kubectl apply -f apps/5-smi-http-route-groups.yaml kubectl apply -f apps/6-smi-traffic-targets.yaml 8 . 6

  36. A Closer Look To SMI Objects apiVersion: specs.smi-spec.io/v1alpha1 kind: HTTPRouteGroup metadata: name: app-routes namespace: apps matches: - name: all pathRegex: "/" methods: ["*"] --- apiVersion: access.smi-spec.io/v1alpha1 kind: TrafficTarget metadata: name: client-apps namespace: apps destination: kind: ServiceAccount name: apps-server namespace: apps specs: - kind: HTTPRouteGroup name: app-routes matches: - all sources: - kind: ServiceAccount name: apps-client namespace: apps 8 . 7

  37. That’s All Folks! 9 . 1

  38. We Have Stickers! 9 . 2

  39. We Are Hiring! docker run -it containous/jobs 9 . 3

  40. Thank You!  @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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend