Service Mesh Intensiv-Training: Istio

Beschreibung

In diesem 3-tägigen Intensiv-Training lernen die Teilnehmer den Umgang mit dem Service Mesh Tool Istio.

Beginnend mit der Installation von Istio im lokalen Kubernetes-Cluster und einer Einführung in das Thema Service Mesh, werden Schritt für Schritt verschiedene Features von Istio vorgestellt. Dazu werden mehrere auf MicroProfile und SpringBoot basierende Microservices zu einem Service Mesh verknüpft.

Mit Hilfe der Istio-Regeln für das Traffic-Management werden weitergehende Funktionalitäten wie beispielsweise Resilienz und Testen der Resilienz, A/B Testing mit Traffic Shifting/Traffic Mirroring und Canary Releasing genauer beleuchtet. Für die notwendige Visualisierung des Service Mesh werden Tracing, Metrics und Logging zusammen mit den mitgelieferten Tools (Kiali, Jaeger, Prometheus, Grafana) vorgestellt.

Im letzten Abschnitt des Trainings stehen die Security-Features von Istio im Fokus. Startpunkt ist die TLS/mTLS Terminierung im Ingress Gateway. Von da an wird jede weiterführende Kommunikation, innerhalb des Service Mesh, mittels mTLS abgesichert. Auch die ausgehende Kommunikation wird, mit Hilfe des Egress Gateway, kontrolliert und gesteuert. Darüber hinaus wird gezeigt, welche request-basierenden Berechtigungs-Prüfungen vom Service Mesh übernommen werden können.

Im Laufe des gesamten Trainings wird immer wieder auf Istio’s Best Practices und Istio’s Security Best Practices eingegangen. Um Fehler in den Istio-Regeln schnell und einfach zu erkennen werden unterschiedliche Möglichkeiten zur Fehleranalyse vorgestellt.

Anhand konkreter Code-Beispiele wird das Zusammenwirken mit den notwendigen Istio-Regeln verdeutlicht und mit Hands-On Übungen können die Teilnehmer ihr Wissen verproben und damit auch vertiefen. Die Folien und die Codebeispiele zusammen mit den eingesetzten Kubernetes/Istio Skripten stehen den Teilnehmern zur Verfügung, ebenso wie ein Istio Cheat Sheet und eine Sammlung von Istio Best Practices.

Inhalt und Ablauf

I. Grundlagen

  • Einführung in den Service Mesh
  • Istio in Verbindung mit MicroProfile und SpringBoot

II. Aufbau des Service Mesh

  • Service Konfiguration und Deployment in Kubernetes
  • Istio’s Sidecar (Sidecar Injection, Zugriff auf den Envoy Proxy)
  • Istio’s Basis-Regeln zum Traffic-Management (Gateway, VirtualService, DestinationRule)
  • Visualisierungs-Möglichkeiten des Service Mesh (Kiali, Jaeger, Prometheus, Grafana)

III. Zusätzliche Funktionalitäten

  • Request-Tracing inklusive Limitierung der Trace-Datenmenge und Tracing on Demand
  • Metrics mit Prometheus und Grafana; Darstellung eigener Application-Metrics
  • Alternative Möglichkeiten der Resilienz (Service Mesh vs. Service-Implementierung)
  • Testen der Resilienz im Service Mesh

IV. Service Mesh Evolution und Betriebsführung

  • A/B Testing mit Traffic Shifting und Traffic Mirroring
  • Canary Releasing
  • EFK Logging Stack: Logging mit Elasticsearch, Fluentd and Kibana
  • Istio’s Best Practices

V. Ingress Gateway mit TLS und mTLS

  • Ingress Gateway mit TLS und mTLS
  • Sicherheitsaspekte eines Gateways
  • Fehlersuche Ingress Gateway

VI. Peer Authentication

  • Istio’s Zertifikat Management
  • Aktivierung mTLS für das gesamte Mesh
  • Koexistenz verschiedener Workloads (mit und ohne mTLS)
  • Fehlersuche mTLS

VII. Request Authentication

  • End-User Authentifizierung
  • Integration von JWT und JWKS
  • JWT claim basiertes Routing

VIII. Authorization

  • AuthorizationPolicy
  • Aktivierung default deny-all Regel
  • Explizites Ablehnen eines Requests
  • Test neuer Policies mit dry run
  • Security Best Practices

IX. Request Authorization

  • JWT claim basierte Authorization
  • JWT claim basiertes Routing

X. Egress Gateway

  • Kontrollierter Zugriff auf externe Services
  • Fehlersuche Egress Gateway

XI. Installation

  • Installations-Arten und Installation von Istio
  • Canary Upgrade von Istio selbst

Zielgruppe und Anforderungen

Entwickler, Architekten und Security Engineers, die die Möglichkeiten eines Service Mesh Tools kennenlernen wollen oder die hohe Sicherheitsanforderungen für ihre Microservices in der Cloud umsetzen müssen. Erste praktische Erfahrungen mit Kubernetes sind dabei von Vorteil.

Durchführung

Das Intenstiv-Training kann on-site oder remote durchgeführt werden. Bitte nehmen Sie Kontakt auf für weitere Abstimmungen oder Anfragen.

Vorbereitungen auf Intensiv-Training

Eine ausführliche Installationsanweisung für die Teilnehmer des Intensiv-Trainings finden Sie hier: Vorbereitungen für das Intensiv-Training

Anfragen

Für Anfragen zum Training bitte
Mail an: Anfrage zu Service Mesh Training
oder
Service Mesh Camp

Aktualisiert: