Istio

Book description

Die Flexibilität von Microservices-Architekturen bietet viele Vorteile, aber es ist eine Herausforderung, die Kontrolle über die Vielzahl kommunizierender Services zu behalten. An diesem Punkt bietet ein Service Mesh effektive Unterstützung: Es organisiert die Logik für die Kommunikation der Services in einer Infrastrukturschicht, überwacht und unterstützt die Kommunikation und minimiert Ausfälle.

Ein Service Mesh erfüllt viele Funktionen - beispielsweise ermöglicht es Transparenz durch Monitoring, Logging und Tracing, unterstützt die Resilienz, organisiert das Routing und übernimmt wichtige Sicherheitsaufgaben.

Table of contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Vorwort
  6. 1 Einführung in Service Mesh
    1. Was ist ein Service Mesh?
    2. Grundlagen
    3. Auf ein Service Mesh zusteuern
    4. Clientbibliotheken: die ersten Service Meshes?
    5. Wozu brauche ich es?
    6. Haben wir das nicht bereits in unseren Container-Plattformen?
    7. Landschaft und Ökosystem
    8. Landschaft
    9. Ökosystem
    10. Das kritische, fehlbare Netzwerk
    11. Der Wert eines Service Mesh
    12. Das Istio Service Mesh
    13. Der Ursprung von Istio
    14. Der aktuelle Stand von Istio
    15. Kadenz
    16. Releases
    17. Feature-Status
    18. Zukunft
    19. Was Istio nicht ist
    20. Es geht nicht einfach um Microservices
    21. Terminologie
  7. 2 Cloud-native Ansatz für einheitliche Beobachtbarkeit
    1. Was heißt es, Cloud-native zu sein?
    2. Der Weg hin zu Cloud-native
    3. Packaging und Deployment
    4. Anwendungsarchitektur
    5. Entwicklungs- und Betriebsprozesse
    6. Cloud-native Infrastruktur
    7. Was ist Beobachtbarkeit?
    8. Säulen der Telemetrie
    9. Protokolle
    10. Metriken
    11. Traces
    12. Die Säulen der Telemetrie kombinieren
    13. Warum ist Beobachtbarkeit in verteilten Systemen entscheidend?
    14. Einheitliche Beobachtbarkeit mit einem Service Mesh
    15. Clientbibliotheken
    16. Schnittstellen zu Überwachungssystemen
  8. 3 Istio im Überblick
    1. Service-Mesh-Architektur
    2. Hauptkomponenten
    3. Komponenten der Istio-Control-Plane
    4. Service Proxy
    5. Komponenten der Istio-Data-Plane
    6. Gateways
    7. Erweiterbarkeit
    8. Anpassbare Sidecars
    9. Erweiterbare Adapter
    10. Skalierung und Performance
    11. Deployment-Modelle
  9. 4 Istio bereitstellen
    1. Die Umgebung für Istio vorbereiten
    2. Docker Desktop als Installationsumgebung
    3. Docker Desktop konfigurieren
    4. Istio installieren
    5. Istio-Installationsoptionen
    6. Benutzerdefinierte Ressourcen von Istio registrieren
    7. Die Komponenten der Control Plane von Istio installieren
    8. Die Beispielanwendung Bookinfo bereitstellen
    9. Die Beispiel-App mit automatischer Sidecar Injection bereitstellen
    10. Vernetzung mit der Beispiel-App
    11. Istio deinstallieren
    12. Helm-basierte Installationen
    13. Helm installieren
    14. Mit Helm Template installieren
    15. Eine Helm-basierte Installation überprüfen
    16. Eine Helm-basierte Installation deinstallieren
    17. Andere Umgebungen
  10. 5 Service Proxy
    1. Was ist ein Service-Proxy?
    2. iptables – eine Einführung
    3. Überblick über Envoy Proxy
    4. Warum Envoy?
    5. Envoy in Istio
    6. Sidecar Injection
    7. Manuelle Sidecar Injection
    8. Sidecars ad hoc injizieren
    9. Automatische Sidecar Injection
    10. Init-Container von Kubernetes
    11. Bereitstellung von Sidecar-Ressourcen
    12. Die Funktionalität von Envoy
    13. Kernkonstrukte
    14. Zertifikate und Schutz des Datenverkehrs
  11. 6 Sicherheit und Identität
    1. Zugriffssteuerung
    2. Authentifizierung
    3. Autorisierung
    4. Identität
    5. SPIFFE
    6. Architektur der Schlüsselverwaltung
    7. Citadel
    8. Knotenagenten
    9. Envoy
    10. Pilot
    11. mTLS
    12. Die Richtlinien für Authentifizierung/Autorisierung von Istio konfigurieren
    13. Authentifizierungsrichtlinie: mTLS konfigurieren
    14. Autorisierungsrichtlinie: Konfigurieren, wer mit wem sprechen kann
  12. 7 Pilot
    1. Pilot konfigurieren
    2. Mesh-Konfiguration
    3. Netzwerkkonfiguration
    4. Diensterkennung
    5. Konfiguration übermitteln
    6. Debugging und Fehlersuche in Pilot
    7. istioctl
    8. Fehlerbehebung in Pilot
    9. Eine Konfiguration verfolgen
    10. Listener
    11. Routen
    12. Cluster
  13. 8 Verwaltung des Datenverkehrs
    1. Der Datenverkehrsfluss in Istio
    2. Die Netzwerk-APIs von Istio
    3. ServiceEntry
    4. DestinationRule
    5. VirtualService
    6. Gateway
    7. Lenkung und Routing des Datenverkehrs
    8. Resilienz
    9. Strategie zur Lastverteilung
    10. Ausreißer erkennen
    11. Wiederholungen
    12. Time-outs
    13. Fault Injection
    14. Ingress und Egress
    15. Eingehender Datenverkehr – Ingress
    16. Ausgehender Datenverkehr – Egress
  14. 9 Mixer und Richtlinien im Mesh
    1. Architektur
    2. Richtlinien durchsetzen
    3. Die Arbeitsweise von Mixer-Richtlinien
    4. Telemetriedaten berichten
    5. Attribute
    6. Berichte senden
    7. Überprüfungscaches
    8. Adapter
    9. In-Process-Adapter
    10. Out-of-Process-Adapter
    11. Eine Mixer-Richtlinie erstellen und Adapter verwenden
    12. Mixer-Konfiguration
    13. Open-Policy-Agent-Adapter
    14. Prometheus-Adapter
  15. 10 Telemetrie
    1. Adaptermodelle
    2. Telemetriedaten melden
    3. Metriken
    4. Mixer konfigurieren, um Metriken zu sammeln
    5. Eine Metriken-Sammlung einrichten und Metriken abfragen
    6. Traces
    7. Tracing deaktivieren
    8. Protokolle
    9. Metriken
    10. Visualisierung
  16. 11 Istio debuggen
    1. Introspektion von Istio-Komponenten
    2. Troubleshooting mit einer Management Plane
    3. Von kubectl profitieren
    4. Auf Workloads vorbereitet sein
    5. Anwendungskonfiguration
    6. Netzwerkverkehr und Ports
    7. Services und Deployments
    8. Pods
    9. Installation, Upgrade und Deinstallation von Istio
    10. Installation
    11. Upgrade
    12. Deinstallation
    13. Troubleshooting von Mixer
    14. Troubleshooting von Pilot
    15. Debugging von Galley
    16. Debugging von Envoy
    17. Die Verwaltungskonsole von Envoy
    18. Anfragen mit dem Statuscode 503 oder 404
    19. Sidecar Injection
    20. Versionskompatibilität
  17. 12 Deployment von Anwendungen in der Praxis
    1. Betrachtungen zur Control Plane
    2. Galley
    3. Pilot
    4. Mixer
    5. Citadel
    6. Fallstudie: Canary-Deployment
    7. Clusterübergreifende Deployments
  18. 13 Erweiterte Szenarios
    1. Arten von erweiterten Topologien
    2. Einzelcluster-Meshes
    3. Multicluster-Meshes
    4. Anwendungsfälle
    5. Eine Topologie auswählen
    6. Clusterübergreifend oder Multicluster?
    7. Clusterübergreifende Topologie konfigurieren
    8. DNS konfigurieren und Bookinfo bereitstellen
  19. Fußnoten
  20. Index
  21. Über die Autoren

Product information

  • Title: Istio
  • Author(s): Lee Calcote, Zack Butcher
  • Release date: November 2020
  • Publisher(s): dpunkt
  • ISBN: 9783960091387