Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Routing Your Microservices Architecture to Ease...
Search
DevOps Gathering
March 10, 2020
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Routing Your Microservices Architecture to Ease DevOps Enterprise Transformation by Manuel Zapf
DevOps Gathering
March 10, 2020
More Decks by DevOps Gathering
See All by DevOps Gathering
Hacking Terraform by Constantin Weisser
devopsgatheringio
1
280
The Road to Reliability: Infrastructure Testing explained by Constantin Weisser
devopsgatheringio
1
320
Take MicroProfile to the Clouds with Quarkus by Dirk Weil
devopsgatheringio
0
230
Tracing - a Journey to Tactical Insights by Florian Kückelkorn
devopsgatheringio
0
290
Testable Kubernetes Operators? by Marcel Müller
devopsgatheringio
0
320
How Containerized Pipelines Can Boost Your CI/CD by Nico Meisenzahl
devopsgatheringio
0
210
The First Decade of DevOps is Over by Konstanin Diener
devopsgatheringio
1
190
From Zero to Hero - Onboarding with GitOps by Mario Kleinsasser
devopsgatheringio
0
170
Building a Graph User-Interface for Malware-Analysis by Stefan Hausotte
devopsgatheringio
0
290
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
140
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
Performance Optimization With LLMs
xleitix
0
180
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
820
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
450
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.7k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
200
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
Jetpack Compose Mechanisms
skydoves
3
840
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
A Modern Web Designer's Workflow
chriscoyier
699
190k
30 Presentation Tips
portentint
PRO
1
430
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
KATA
mclloyd
PRO
35
16k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Transcript
Routing Your Microservices Architecture To Ease DevOps Enterprise Transformation Devops
Gathering 2020 1
Whoami Manuel Zapf Head of Product Open Source @ Maintainer
on Containous Trae k @mZapfDE SantoDE 2
Containous We Believe in Open Source We Deliver Trae k,
Trae k Enterprise Edition, Maesh Commercial Support 30 people distributed, 90% tech https://containo.us 3 . 1
3 . 2
The Premise Of Microservices… 3 . 3
… And What Happens 3 . 4
Where’s My Service? 3 . 5
Tools Of The Trade 3 . 6
Source: Twitter[] 3 . 7
What If I Told You? That You Don’t Have to
Write This Con guration File… ? 3 . 8
Here Comes Traefik! 4 . 1
Traefik Project 4 . 2
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
Traefik (V2.0) Core Concepts 5 . 1
Traefik Is An Edge Router 5 . 2
Dynamically Discovers Services 5 . 3
Architecture (V2.0) At A Glance 5 . 4
Entrypoints 5 . 5
Routers 5 . 6
Middlewares 5 . 7
Services 5 . 8
Architecture (Again) At A Glance 5 . 9
Static & Dynamic Configuration 5 . 10
Traefik And Let’s Encrypt 6 . 1
HTTPS & Let’s Encrypt 6 . 2
Traefik With ⎈ ⎈ Diagram from https://medium.com/@geraldcroes 7 . 1
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
⎈ ⎈ 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
⎈ ⎈ & 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
East / West Traefik 8 . 1
Say Hello To Maesh 8 . 2
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
Maesh Architecture 8 . 4
More On Maesh Built on top of Trae k, SMI
(Service Mesh Interface speci cation) compliant, Opt-in by default. Maesh Website 8 . 5
Show Me The Code! Install Maesh (Helm Chart): Deploy Applications:
Deploy SMI Objects to allow traf c 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 . 6
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
That’s All Folks! 9 . 1
We Have Stickers! 9 . 2
We Are Hiring! docker run -it containous/jobs 9 . 3
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