Training Module
Kubernetes Service Mesh — Multi-Cluster mit Istio
In diesem 165-Minuten-Modul verlasst ihr den einzelnen Cluster, auf dem
der Vorgängerkurs euer Mesh aufgebaut hat, und baut es über zwei Cluster
hinweg neu auf. Ihr startet mit der Entscheidung, die vor jedem
Kommando steht: Multi-Primary – jeder Cluster betreibt
seine eigene, vollständige Control-Plane (istiod), was
Hochverfügbarkeit und kürzere Latenz zur nächsten Control-Plane
bringt – oder Primary-Remote – nur ein Cluster
betreibt istiod, der zweite liefert ausschließlich
Workloads und spart dafür die komplette Control-Plane-Ressourcen ein.
Für das Hands-on baut ihr zwei eigenständige kind-Cluster
auf – bewusst ohne die Pod-Netze der beiden Cluster
routingfähig zu machen, wie es das GitOps-Aufbaumodul zum
Cluster-Generator noch vermieden hat: Hier ist die fehlende direkte
Pod-zu-Pod-Erreichbarkeit über Cluster-Grenzen hinweg der eigentliche
Ausgangspunkt, denn genau das macht Istios
East-West-Gateway zum zentralen Baustein statt zu
einem optionalen Detail: Ein pro Cluster installiertes, öffentlich
erreichbares Gateway auf Port 15443 mit
AUTO_PASSTHROUGH-TLS leitet jeden Cross-Cluster-Request an
den richtigen Sidecar weiter, ohne dass ein einziges Anwendungs-Byte
unverschlüsselt das eigene Netzwerk verlässt. Bevor die beiden Cluster
sich gegenseitig vertrauen, baut ihr eine
gemeinsame Root-CA mit je einer Intermediate-CA pro
Cluster auf – per OpenSSL und dem offiziellen Istio-Makefile, real
ausführbar ohne jeden Cluster-Zugriff – und spielt sie als
cacerts-Secret in beide Cluster ein: Erst danach vertrauen
sich die Envoy-Sidecars beider Cluster gegenseitig für mTLS, statt zwei
isolierte, sich fremde Zertifikatsketten zu betreiben. Mit beiden
Clustern im Multi-Primary-Modus und aktivem East-West-Gateway
verifiziert ihr Cross-Cluster-Service-Discovery an einer über beide
Cluster verteilten Demo-Anwendung, und baut zum Abschluss die
eigentliche Pointe des Moduls: ein gewichtetes
Cross-Cluster-Traffic-Splitting mit
denselben VirtualService-/
DestinationRule-Objekten, die ihr aus dem Istio-Vorgängerkurs
bereits kennt – nur dass die Subsets, zwischen denen gesplittet wird,
diesmal auf zwei verschiedenen Clustern laufen, ohne dass sich an der
Objekt-Syntax irgendetwas ändert. Ein kurzer Ausblick ohne eigenes
Hands-on rundet ab: die Primary-Remote-Topologie als
ressourcensparende Alternative, wenn nicht jeder Cluster seine eigene
Control-Plane rechtfertigt. Voraussetzung ist das Modul “Kubernetes
Service Mesh — Traffic-Management mit Istio” (Pflicht) – Sidecar-Modell,
VirtualService/DestinationRule und mTLS
gelten als bekannt und werden hier nicht wiederholt, nur über die
Cluster-Grenze hinweg angewendet. Empfohlen zusätzlich “Kubernetes
Service Mesh Observability — Kiali & der Service-Graph”, weil ihr den
Cross-Cluster-Traffic aus Hands-on 4 damit visuell statt nur per
curl-Auszählung nachvollziehen könnt. Die Session läuft
komplett lokal über zwei kind-Cluster (Kubernetes-in-Docker)
mit MetalLB für LoadBalancer-Support, ohne Cloud-Account und ohne
Kostenwirkung.
Format
165 Minuten, live (remote oder vor Ort), Input & vier Hands-on-Blöcke
Teilnehmende
Entwickler:innen und Ops, die ein bestehendes Single-Cluster-Mesh über mehrere Cluster hinweg betreiben müssen
Voraussetzungen
Abgeschlossenes Modul Kubernetes Service Mesh — Traffic-Management mit Istio (Pflicht), empfohlen zusätzlich Kubernetes Service Mesh Observability — Kiali. Lauffähige lokale Docker-Umgebung für zwei parallele kind-Cluster, kein Cloud-Account nötig.
Warum dieses Training für deine Organisation wirkt
Zwei echte Topologien statt einer Konzeptfolie
Multi-Primary und Primary-Remote sind im Istio-Vorgängerkurs nur als Ausblick benannt. Hier baut ihr Multi-Primary live und lernt an konkreten Ressourcen- und HA-Kriterien, wann Primary-Remote die bessere Wahl wäre.
Eine Vertrauenskette statt zwei fremder Cluster
Eine gemeinsame Root-CA mit Intermediate-CA pro Cluster ist der Unterschied zwischen zwei Clustern, die sich gegenseitig vertrauen, und zwei isolierten Inseln, die zufällig denselben Mesh-Namen tragen.
Traffic-Splitting, das an der Cluster-Grenze nicht endet
Dieselben VirtualService-/DestinationRule-Objekte
aus dem Istio-Vorgängerkurs routen nach der East-West-Gateway-Installation
transparent über zwei Cluster hinweg – ohne eine einzige neue
API-Ressource für den Cluster-Wechsel selbst.
Was Teilnehmende mitnehmen
- Die Multi-Primary- und die Primary-Remote-Topologie gegeneinander abgrenzen und anhand von HA-, Latenz- und Ressourcenkriterien begründen, wann welche gewählt wird.
- Zwei eigenständige
kind-Cluster mit MetalLB aufsetzen, die bewusst als zwei getrennte Netzwerke behandelt werden – ohne Cross-Cluster-Pod-Routing oder CIDR-Planung. - Eine gemeinsame Root-CA mit je einer Intermediate-CA pro Cluster per OpenSSL erzeugen und als
cacerts-Secret in beide Cluster einspielen, statt getrennter Selbstsignierungen. - Istio im Multi-Primary-Modus auf beiden Clustern installieren und pro Cluster ein East-West-Gateway für Cross-Cluster-Service-Discovery in Betrieb nehmen.
- Cross-Cluster-Traffic mit
istioctl remote-clustersund einer über beide Cluster verteilten Demo-Anwendung live verifizieren. - Ein gewichtetes Cross-Cluster-Traffic-Splitting mit denselben
VirtualService-/DestinationRule-Objekten aus dem Istio-Vorgängerkurs aufbauen – als direkten Cluster-übergreifenden Aufsatz, nicht als erneute Einführung. - Die Primary-Remote-Topologie als ressourcensparende Alternative konzeptionell einordnen – bewusst ohne eigenes zweites Hands-on dazu.
Für wen dieses Modul ideal ist
- • Teams mit einem produktiven Single-Cluster-Mesh, die aus Verfügbarkeits- oder Regionsgründen einen zweiten Cluster anbinden müssen
- • Alle, die zwischen Multi-Primary und Primary-Remote entscheiden müssen und dafür echte, nicht nur konzeptionelle Kriterien brauchen
- • Wer eine gemeinsame Zertifikatskette über mehrere Cluster aufbauen will, statt jedem Cluster eine eigene, isolierte Root-CA zu geben
Rahmendaten
- • Dauer: 165 Minuten live (remote oder vor Ort)
- • Format: Input, Live-Demo, vier vollständige Hands-on-Blöcke
- • Voraussetzungen: abgeschlossenes Modul “Kubernetes Service Mesh — Traffic-Management mit Istio” (Pflicht), empfohlen “Kubernetes Service Mesh Observability — Kiali & der Service-Graph”, zwei parallele kind-Cluster (Docker), keine Cloud-Kostenwirkung
Modulaufbau & Agenda
Vorbereitung & Multi-Cluster-Topologien im Überblick (15 min): Multi-Primary (jeder Cluster mit eigener Control-Plane) vs. Primary-Remote (ein Cluster verwaltet die Data-Plane eines Remote-Clusters), Kriterien für die Wahl, warum zwei
kind-Cluster hier bewusst als getrennte Netzwerke statt mit CIDR-Planung aufgesetzt werden.Hands-on 1: Zwei lokale kind-Cluster mit MetalLB (25 min, Hands-on):
kind create clusterfürcluster1undcluster2, MetalLB für LoadBalancer-Support ohne Cloud, Kontexte als Umgebungsvariablen verfügbar machen.Hands-on 2: Gemeinsame Root-CA für mTLS über Cluster hinweg (25 min, Hands-on): Root-CA und je eine Intermediate-CA pro Cluster per OpenSSL/Makefile erzeugen, als
cacerts-Secret imistio-system-Namespace beider Cluster anlegen.Hands-on 3: Multi-Primary-Installation & East-West-Gateway (40 min, Hands-on): Istio mit
meshID/network/multiCluster.clusterNameauf beiden Clustern installieren, East-West-Gateway pro Cluster ausrollen, Services überexpose-services.yamlfür Cross-Cluster-Zugriff freigeben.Hands-on 4: Cross-Cluster-Service-Discovery & gewichtetes Traffic-Splitting (35 min, Hands-on): Remote-Secrets austauschen,
istioctl remote-clustersaufsyncedprüfen, eine über beide Cluster verteilte Demo-Anwendung live cross-cluster erreichen, anschließend mitVirtualService/DestinationRulegewichtet zwischen den beiden Cluster-Subsets splitten.Primary-Remote als Alternative — Konzeptblock ohne eigenes Hands-on (15 min):
externalIstiod,profile: remoteundtopology.istio.io/controlPlaneClusters-Annotation gemeinsam lesen und gegen Multi-Primary abgrenzen, ohne einen zweiten vollständigen Cluster-Umbau in diesem Modul durchzuspielen.Aufräumen & Abschluss (10 min): beide
kind-Cluster löschen, offene Fragen.
Dieses Modul setzt das Aufbaumodul
Kubernetes Service Mesh — Traffic-Management mit Istio
zwingend voraus. Das Sidecar-Modell sowie VirtualService-,
DestinationRule- und PeerAuthentication-Objekte
gelten als bekannt und werden hier nicht erneut hergeleitet – Hands-on 4
wendet exakt diese Objekte auf zwei Cluster statt auf einen an, ohne
ihre Syntax neu einzuführen.
Was dieses Modul bewusst nicht behandelt:
VirtualService-/DestinationRule-Grundlagen und die
allgemeine mTLS-Einordnung – Thema des Aufbaumoduls
Kubernetes Service Mesh — Traffic-Management mit Istio
, hier nur über die Cluster-Grenze hinweg angewendet. Die
Kiali-Graph-Bedienung selbst – Thema von
Kubernetes Service Mesh Observability — Kiali & der Service-Graph
, hier nur als optionales Hilfsmittel erwähnt, um den Cross-Cluster-Traffic
aus Block 4 visuell statt per curl-Auszählung nachzuvollziehen.
Ebenfalls nicht Teil: Locality-based Failover-Load-Balancing als eigene
Vertiefung, Ambient-Mode-Multi-Network sowie produktionsreife
API-Server-/Ingress-Exposition der East-West-Gateway (Firewall-Regeln,
echte TLS-Zertifikate statt Trainings-Selbstsignierung) – hier läuft
alles lokal über kind und MetalLB.
Hands-on Inhalte (Auszug)
Zwei kind-Cluster mit MetalLB
kind create cluster –name cluster1/–name cluster2, MetalLB-Manifest anwenden, IP-Adressbereich pro Cluster konfigurieren- Kontexte als
CTX_CLUSTER1/CTX_CLUSTER2-Umgebungsvariablen für alle folgenden Blöcke bereithalten
Gemeinsame Root-CA
make -f Makefile.selfsigned.mk ROOTCA_CN=“Root CA” root-ca, danach je eine Intermediate-CA pro Clusterkubectl create secret generic cacerts -n istio-system –from-file=…in beiden Clustern
Multi-Primary & East-West-Gateway
istioctl installmitglobal.meshID/global.network/global.multiCluster.clusterNamepro Clustersamples/multicluster/gen-eastwest-gateway.sh –network <netzwerk> | istioctl install -f -, Services perexpose-services.yamlfreigeben
Cross-Cluster-Verifikation & Splitting
istioctl create-remote-secretgegenseitig austauschen,istioctl remote-clustersaufsyncedprüfen- Gewichtete
VirtualService-Route (z. B. 70/30) zwischen den Cluster-Subsets, Verteilung percurl-Schleife auszählen
Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit von der East-West-Gateway-Installation bis zum ersten live bestätigten Cross-Cluster-Request) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.
Bereit, das Modul zu buchen?
Wir passen die Hands-on-Übungen auf euren Erfahrungsstand und eure Zielumgebung an.
Academy Briefing anfragen