Training Module

Kubernetes Service Mesh Observability — Kiali & der Service-Graph

In diesem 105-Minuten-Modul löst ihr ein Problem, das der Istio-Kurs bewusst offen gelassen hat: Ihr habt dort VirtualService, DestinationRule und PeerAuthentication-Objekte von Hand angelegt und einzeln per kubectl geprüft – das funktioniert für zwei Versionen eines einzelnen Service, aber schon bei einer Handvoll Services wird kubectl describe/ logs pro Sidecar zur Sisyphusarbeit. Kiali löst das: Es liest exakt dieselbe Mesh-Konfiguration, die ihr im Vorgängerkurs angelegt habt, und macht sie als visuellen Service-Graph nachvollziehbar – welcher Service spricht mit welchem, mit welcher Erfolgsrate, welcher Latenz. Im ersten Hands-on installiert ihr Prometheus und Kiali über die offiziellen Istio-Addon-Manifeste direkt auf eurem bestehenden Minikube-Cluster – Prometheus sammelt die Metriken, die jeder Envoy-Sidecar ohnehin schon exportiert, Kiali fragt sie ab und kombiniert sie mit der von istiod verteilten Routing-Konfiguration. Mit istioctl dashboard kiali öffnet ihr das Dashboard und seht euren reviews-Service-Graph zum ersten Mal visuell, inklusive der 90/10-Gewichtung aus dem VirtualService des Vorgängerkurses. Im zweiten Hands-on provoziert ihr gezielt einen Traffic-Fehler: eine VirtualService-Fault-Injection ( http.fault.abort) lässt einen Teil der Requests kontrolliert mit HTTP 500 fehlschlagen – und live im Kiali-Graph seht ihr, wie die betroffene Kante rot wird, die Erfolgsrate messbar sinkt und das Latenz-Overlay reagiert, ganz ohne dass ihr einen einzigen Log-Stream selbst durchsuchen müsst. Ein kurzer Ausblick ohne eigenes Hands-on rundet ab: Distributed Tracing mit Jaeger als Ergänzung zum Graph für Request-genaue Latenzanalyse – vertieft im eigenständigen Aufbaumodul Kubernetes Service Mesh — Distributed Tracing mit Jaeger –, sowie Kialis Validations-Feature, das eure YAML-Objekte gegen bekannte Konfigurationsfehler prüft. Ausdrücklich NICHT Teil dieses Kurses: Kiali-Production-Hardening (RBAC, Auth-Strategien, Ingress-Exposition), Grafana-Dashboard-Import, Multi-Cluster-Kiali und CI/Image-Build. Voraussetzung ist das Modul “Kubernetes Service Mesh — Traffic-Management mit Istio” (Pflicht) – dieses Modul setzt dessen Minikube-Cluster, Istio-Installation und Mesh-Objekte direkt fort, statt sie zu wiederholen. Die Session läuft komplett lokal über Minikube (–driver=docker), Kiali und Prometheus laufen rein containerisiert im Cluster, ohne Cloud-Account und ohne Kostenwirkung.

Format

105 Minuten, live (remote oder vor Ort), Input & zwei Hands-on-Übungen

Teilnehmende

Absolvent:innen von “Kubernetes Service Mesh — Traffic-Management mit Istio”, die Traffic-Fehler im Mesh visuell statt über verteiltes Log-Grep diagnostizieren wollen

Voraussetzungen

Abgeschlossenes Modul “Kubernetes Service Mesh — Traffic-Management mit Istio” (Pflicht) – Sidecar-Injection, VirtualService/DestinationRule und PeerAuthentication gelten als bekannt, lauffähige lokale Docker-Umgebung für Minikube

Warum dieses Training für deine Organisation wirkt

Ein Graph statt N Sidecar-Logs

Statt kubectl logs <pod> -c istio-proxy pro Sidecar einzeln durchzugehen, seht ihr in Kiali auf einen Blick, welche Kante im Mesh gerade Fehler produziert – dieselbe Konfiguration, nur visuell statt textuell.

Erfolgsrate und Latenz ohne eigenes Dashboard-Bauen

Prometheus sammelt, was jeder Envoy-Sidecar ohnehin exportiert – Kiali baut daraus fertige Erfolgsraten- und Latenz-Overlays direkt auf dem Graph, ohne dass ihr eine eigene Grafana-Query schreiben müsst.

Fehlerdiagnose in Sekunden statt Minuten

Eine gezielt provozierte Fault-Injection zeigt sofort eine rote Kante im Graph – der Unterschied zwischen “welcher von zwölf Services hat gerade ein Problem?” und einem direkten visuellen Treffer.

Was Teilnehmende mitnehmen

  • Prometheus und Kiali über die offiziellen Istio-Addon-Manifeste auf einem bestehenden Minikube-Cluster installieren, ohne einen eigenen Helm-Chart oder Ingress dafür zu brauchen.
  • Den Service-Graph über istioctl dashboard kiali öffnen und die im Istio-Vorgängerkurs angelegten VirtualService-/DestinationRule-Objekte darin wiedererkennen, inklusive der 90/10-Traffic-Gewichtung.
  • Über eine VirtualService-Fault-Injection (http.fault.abort) gezielt einen Traffic-Fehler provozieren und live erleben, wie Kiali ihn als rote Kante, sinkende Erfolgsrate und verändertes Latenz-Overlay sichtbar macht.
  • Erfolgsrate und Latenz direkt an den bereits bekannten Mesh-Objekten ablesen – VirtualService-Routinggewichtung, DestinationRule-Subsets und PeerAuthentication-mTLS-Status als Teil derselben Graph-Ansicht.
  • Distributed Tracing mit Jaeger (vertieft im Aufbaumodul Kubernetes Service Mesh — Distributed Tracing mit Jaeger) und Kialis Validations-Feature konzeptionell einordnen – bewusst ohne eigenes Hands-on zu diesen Punkten.
  • Benennen, was dieses Modul bewusst nicht behandelt: Kiali-Production-Hardening (RBAC, Auth-Strategien, Ingress-Exposition), Grafana-Dashboard-Import, Multi-Cluster-Kiali und CI/Image-Build.

Für wen dieses Modul ideal ist

  • • Absolvent:innen von “Kubernetes Service Mesh — Traffic-Management mit Istio” oder gleichwertigen Vorkenntnissen
  • • Teams, die Traffic-Probleme im Mesh bisher über verteiltes Sidecar-Log-Grep statt über einen zentralen Graph diagnostizieren
  • • Alle, die vor dem ersten produktiven Mesh-Rollout wissen wollen, wie sich ein Fehlerbild visuell statt nur textuell nachweisen lässt

Rahmendaten

  • • Dauer: 105 Minuten live (remote oder vor Ort)
  • • Format: Input, Live-Demo, zwei Hands-on-Übungen (Prometheus/Kiali-Installation & Graph öffnen, Traffic-Fehler provozieren & im Graph erkennen)
  • • Voraussetzungen: abgeschlossenes Modul “Kubernetes Service Mesh — Traffic-Management mit Istio” (Pflicht), lauffähige lokale Docker-Umgebung für Minikube, keine Cloud-Kostenwirkung

Modulaufbau & Agenda

  1. Recap & Warum Observability für ein Mesh (10 min): kurzer Rückblick auf Sidecar-Proxy-Modell, VirtualService/DestinationRule/PeerAuthentication aus dem Vorgängerkurs, die Grenze von kubectl describe/logs bei mehreren Sidecars.

  2. Kiali-Architektur & Prometheus-Anbindung (15 min): Prometheus als Metrik-Quelle (liest, was jeder Envoy-Sidecar exportiert), istiod als Konfigurationsquelle, Kiali als kombinierende Visualisierungsschicht darüber.

  3. Hands-on 1: Prometheus & Kiali installieren (30 min, Hands-on): beide Komponenten über die offiziellen Istio-Addon-Manifeste per kubectl apply installieren, Dashboard über istioctl dashboard kiali öffnen, den bestehenden reviews-Service-Graph live betrachten.

  4. Hands-on 2: Traffic-Fehler provozieren & im Graph erkennen (30 min, Hands-on): VirtualService-Fault-Injection mit http.fault.abort anlegen, live beobachten, wie Kiali die betroffene Kante rot färbt und die Erfolgsrate sinkt.

  5. Graph lesen: Erfolgsrate/Latenz an bekannten Mesh-Objekten (10 min): Kanten-Prozentsätze gegen die VirtualService-Gewichtung gegenlesen, mTLS-Schloss-Icon gegen die PeerAuthentication aus dem Vorgängerkurs abgleichen.

  6. Ausblick ohne Hands-on & Abschluss (10 min): Distributed Tracing mit Jaeger (vertieft im Aufbaumodul Kubernetes Service Mesh — Distributed Tracing mit Jaeger), Kialis Validations-Feature; Production-Hardening, Grafana-Dashboard-Import, Multi-Cluster-Kiali und CI/Image-Build ausdrücklich nicht Teil dieses Kurses.

Dieses Modul setzt das Aufbaumodul Kubernetes Service Mesh — Traffic-Management mit Istio zwingend voraus. Sidecar-Injection, Control-Plane/Data-Plane sowie die dort angelegten VirtualService-, DestinationRule- und PeerAuthentication-Objekte gelten als bekannt und werden hier nicht erneut hergeleitet – Hands-on 1 installiert Kiali direkt auf dem dort aufgebauten Minikube-Cluster und der dort laufenden Istio-Installation, Hands-on 2 arbeitet unmittelbar auf dem dort angelegten reviews-VirtualService.

Was dieses Modul bewusst nicht behandelt: Kiali-Production-Hardening (RBAC, Auth-Strategien, Ingress-Exposition außerhalb von istioctl dashboard), den Import fertiger Grafana-Dashboards, den Aufbau eines Multi-Cluster-Kiali-Setups sowie der Build eines Container-Images oder eine CI-Pipeline davor (das leistet das Modul CI: Continuous Integration & der Build-Prozess ). Distributed Tracing mit Jaeger – vertieft im Aufbaumodul Kubernetes Service Mesh — Distributed Tracing mit Jaeger – und Kialis Validations-Feature werden in Block 6 nur als Ausblick genannt, kein eigenes Hands-on.

Hands-on Inhalte (Auszug)

Prometheus installieren

  • Offizielles Addon-Manifest samples/addons/prometheus.yaml aus dem bereits im Istio-Kurs heruntergeladenen Release-Ordner per kubectl apply anwenden
  • Prometheus-Pod im Namespace istio-system auf Running verifizieren, bevor Kiali installiert wird

Kiali installieren & öffnen

  • Addon-Manifest samples/addons/kiali.yaml anwenden, Kiali-Pod auf Running prüfen
  • istioctl dashboard kiali ausführen, Port-Forward und Browser-Öffnung live verfolgen

Fault-Injection anlegen

  • Bestehenden reviews-VirtualService um http.fault.abort mit httpStatus: 500 und einer Prozentangabe ergänzen
  • Traffic-Splitting-Job aus dem Istio-Kurs erneut laufen lassen, um Requests gegen die Fault-Injection zu erzeugen

Fehler im Graph erkennen

  • Kiali-Graph auf “Last 1m” mit aktiviertem Traffic-Animation-Overlay beobachten, rote Kante zwischen curl-loop und reviews identifizieren
  • Erfolgsrate-Prozentsatz auf der Kante gegen den konfigurierten Fault-Prozentsatz gegenrechnen

Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit von der Fault-Injection bis zur ersten korrekt identifizierten roten Kante im Kiali-Graph) 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-Übung auf euren Erfahrungsstand und eure Zielumgebung an.

Academy Briefing anfragen