Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Istio on GKE

Mit dem GKE-Add-on „Istio on GKE“ können Sie schnell einen Cluster mit allen Komponenten einrichten, die Sie benötigen, um ein Istio Service Mesh zu erstellen und auszuführen. Nach der Installation werden die Komponenten der Istio-Steuerungsebene automatisch aktualisiert, sodass Sie sich nicht um Upgrades auf neuere Versionen kümmern müssen. Sie können das Add-on auch dazu nutzen, Istio auf einem bestehenden Cluster zu installieren.

Was ist Istio?

Istio ist ein offenes Service Mesh, das eine einheitliche Möglichkeit zum Verbinden, Verwalten und Schützen von Mikrodiensten bietet. Es unterstützt die Verwaltung von Trafficströmen zwischen Diensten. Es erzwingt Zugriffsrichtlinien und aggregiert Telemetriedaten, ohne dass Code der Mikrodienste umgeschrieben werden muss.

Istio bietet Ihnen folgende Möglichkeiten:

  • Automatisches Load-Balancing für HTTP-, gRPC-, WebSocket-, MongoDB- und TCP-Traffic.
  • Detaillierte Kontrolle über das Trafficverhalten mit umfangreichen Routingregeln, Wiederholungsversuchen, Failovers und Fault Injection.
  • Eine konfigurierbare Richtlinienebene und eine API, die Zugriffssteuerungen, Ratenbegrenzungen und Kontingente unterstützt.
  • Automatische Messwerte, Logs und Traces für den gesamten Traffic innerhalb eines Clusters, einschließlich des ein- und ausgehenden Traffics des Clusters
  • Sichere Dienst-zu-Dienst-Kommunikation in einem Cluster mit starker identitätsbasierter Authentifizierung und Autorisierung.

Sie konfigurieren die Istio-Zugriffssteuerung, Routingregeln usw. mithilfe einer benutzerdefinierten Kubernetes-API, entweder über kubectl oder das Istio-Befehlszeilentool istioctl, das eine zusätzliche Validierung bietet.

Weitere Informationen zu Istio finden Sie in der Übersicht und in der vollständigen Open-Source-Dokumentation unter istio.io.

Was ist Istio on GKE?

Istio on GKE ist ein Tool für die automatische Installation und Aktualisierung von Istio in Ihrem GKE-Cluster. Beim Upgrade von GKE wird das Add-on automatisch auf die neueste von GKE unterstützte Version von Istio aktualisiert. So können Sie die Installation und Upgrades von Istio im Rahmen des GKE-Clusterlebenszyklus einfach verwalten.

Wichtig: Wenn Sie Istio on GKE verwenden, wird Istio innerhalb des Clusters ausgeführt. Es gibt kein Service Level Agreement (SLA) für die Istio-Komponenten, die in Ihrem Cluster ausgeführt werden.

Soll ich Istio on GKE verwenden?

Während Istio on GKE die Installation und Upgrades verwaltet, werden Standardinstallationsoptionen für die Steuerebene verwendet, die die Konfigurationsoptionen einschränken. Aufgrund dieser Einschränkungen und des Betastatus des Produkts sollten Kunden dieses Add-on nicht in der Produktion verwenden. Anthos Service Mesh oder Open-Source-Istio sind bessere Optionen für Produktionsarbeitslasten.

Es gelten unter anderem die folgenden Add-ons:

  • Die installierte Version von Istio ist an die GKE-Version gebunden. Diese können nicht separat aktualisiert werden.

  • Die Konfiguration der Steuerungsebene unterliegt strikten Einschränkungen. Sie sollten diese Einschränkungen prüfen, bevor Sie das Add-on „Istio on GKE“ in der Produktion verwenden.

Wenn Sie eine aktuellere Open-Source-Version von Istio verwenden oder mehr Kontrolle über die Konfiguration der Istio-Steuerungsebene haben möchten (was in einigen Anwendungsfällen für die Produktion der Fall sein kann), sollten Sie die Open-Source-Version von Istio und nicht das Add-on „Istio on GKE“ verwenden.

Wenn Sie unsere automatische Installationsfunktion aus irgendeinem Grund nicht mehr verwenden möchten, können Sie das Add-on deinstallieren. Informationen dazu finden Sie unter Istio on GKE deinstallieren.

Was ist installiert?

Wenn Sie einen Cluster mit Istio on GKE erstellen oder aktualisieren, werden die folgenden Istio-Kernkomponenten installiert:

  • Pilot, das für die Diensterkennung und die Konfiguration desEnvoy-Sidecar-Proxys zur Verwaltung des Traffics Ihres Meshs verantwortlich ist.
  • Mixer-Komponenten „Istio-Policy“ und „Istio-Telemetry“: Setzen Nutzungsrichtlinien durch und erfassen Telemetriedaten im ganzen Dienst-Mesh.
  • Das Ingress-Gateway von Istio, das einen Eingangspunkt für Traffic von außerhalb des Clusters bereitstellt.
  • (Nur Istio 1.0-Versionen) Das Istio-Egress-Gateway, mit dem Istio-Features wie Monitoring- und Routingregeln auf Traffic angewendet werden können, der das Netz verlässt. Das Istio-Egress-Gateway ist in Version 1.1 und höher nicht standardmäßig installiert.
  • Das Citadel, das die Schlüssel- und Zertifikatsverwaltung für Istio automatisiert.
  • Galley, das Konfigurationsverwaltungsdienste für Istio bietet.

Mit der Installation können Sie auch den Istio-Sidecar-Proxy zu Ihren Dienstarbeitslasten hinzufügen, sodass diese mit der Steuerebene kommunizieren und dem Istio-Netz hinzugefügt werden können.

Weitere Informationen zur Installation und Deinstallation des Add-ons und zu Ihren Installationsoptionen finden Sie unter Istio on GKE installieren.

Cloud Monitoring-Support

Bei Clustern, bei denen Google Kubernetes Engine Monitoring aktiviert ist, wird der Istio Stackdriver Adapter mit den oben beschriebenen Kernkomponenten installiert. Der Adapter kann Messwerte, Logging und Trace-Daten von Ihrem Netz an Cloud Logging, Cloud Monitoring oder Cloud Trace senden, um das Verhalten Ihrer Dienste in der Google Cloud Console zu beobachten. Sobald Sie ein bestimmtes Cloud Logging-, Cloud Monitoring- oder Cloud Trace-Feature für Ihr Projekt und Ihren Cluster aktiviert haben, werden diese Daten standardmäßig von Ihrem Mesh gesendet. Beachten Sie, dass das Istio on GKE-Add-on automatisch die Zugriffsbereiche im Knotenpool des Clusters für Cloud Monitoring, Logging und Trace festlegt.

Überwachung

Wenn die Cloud Monitoring API in Ihrem Google Cloud-Projekt aktiviert ist, sendet Ihr Istio-Netz automatisch Messwerte für Ihre Dienste (z. B. die Anzahl der von einem bestimmten Dienst empfangenen Bytes) an Monitoring, wo sie im Metrics Explorer angezeigt werden. Mit diesen Messwerten können Sie benutzerdefinierte Dashboards und Warnungen erstellen, mit denen Sie Ihre Dienste im Laufe der Zeit beobachten und Warnungen erhalten können, wenn sich beispielsweise ein Dienst einer bestimmten Anzahl von Anfragen nähert. Sie können diese Messwerte auch mit Filtern und Aggregationen mit den integrierten Messwerten von Monitoring kombinieren, um neue Einblicke in die Funktionsweise Ihrer Dienste zu erhalten.

So rufen Sie mit Metrics Explorer die Messwerte für eine überwachte Ressource auf:

  1. Wechseln Sie in der Google Cloud Console zu Monitoring oder verwenden Sie die folgende Schaltfläche:
    Zu Monitoring
  2. Klicken Sie im Navigationsbereich von Monitoring auf Metrics Explorer .
  3. Geben Sie den Namen der überwachten Ressource in das Textfeld Ressourcentyp und Messwert finden ein.

Eine vollständige Liste der Istio-Messwerte finden Sie in der Cloud Monitoring-Dokumentation.

Logging

Wenn die Cloud Logging API in Ihrem Google Cloud-Projekt aktiviert ist, sendet Ihr Istio-Netz automatisch Logs an Logging, wo sie im Loganzeige angezeigt werden. In der Cloud Logging-Dokumentation erfahren Sie mehr darüber, was Sie mit den Logdaten tun können. Beispielsweise Logs nach BigQuery exportieren.

Tracing

Sie können Cloud Trace aktivieren, damit das Istio-Mesh automatisch Trace-Daten an Cloud Trace sendet, wo es im Trace Viewer angezeigt wird. Beachten Sie, dass Sie Ihre Arbeitslasten in instrumentierte Tracing-Header ändern müssen, um die verteilte Ablaufverfolgung optimal nutzen zu können, um Leistungsengpässe zu ermitteln. Informationen dazu finden Sie im Leitfaden Verteiltes Tracing von Istio.

Wie funktioniert der Upgrade-Prozess?

Der Istio-Lebenszyklus wird im Rahmen des GKE-Upgradeprozesses verwaltet. In GKE gibt es zwei Upgradeprozesse:

  • Master-Upgrade: Der Master-Upgrade-Prozess erfolgt automatisch und aktualisiert die Kubernetes-Steuerebenenkomponenten (API-Server, Scheduler, Controller-Manager usw.) auf dem Master-Knoten sowie die Add-Ons. Das Upgrade der Komponenten der Istio-Steuerungsebene wird im Rahmen dieses Prozesses verwaltet.
  • Knotenupgrade: Der Knotenaktualisierungsprozess kann entweder automatisch (Opt-In; empfohlen) oder manuell erfolgen, wodurch die Kubernetes-Komponenten auf den Worker-Knoten aktualisiert werden, um mit derselben Version des Master-Knotens zu synchronisieren. Das Istio-Sidecar-Upgrade wird im Rahmen dieses Prozesses verwaltet.

Istio on GKE aktualisiert die Steuerungsebene automatisch auf eine neuere, (nicht unbedingt aktuelle) stabile Version. Die Version wird basierend auf der beobachteten Stabilität und Leistung in Open-Source-Bereitstellungen über einen bestimmten Zeitraum ausgewählt. Versions-Updates werden in der Gruppe istio-gke-announce angekündigt. Im Allgemeinen werden Versionsupgrades über einen Zeitraum von zwei oder mehr Wochen nach und nach in allen GKE-Versionen eingeführt, beginnend mit der neuesten Version.

Versionen der Steuerungsebene werden aus Gründen der Abwärtskompatibilität mit den letzten beiden Versionen der Sidecar-Proxy-Version getestet. Nach dem Upgrade Ihres GKE-Clusters empfehlen wir, die Sidecars so bald wie möglich auf die aktuelle Version der Steuerebene zu aktualisieren. Starten Sie dazu entweder die Pods neu (mit aktiviertem automatischen Einschleusen) oder schleusen Sie die entsprechende Version manuell noch einmal ein.

Mit Istio on GKE können Nutzer die Version der Steuerungsebene nicht steuern.

Einstellungen der Steuerungsebene ändern

Da mit Istio on GKE gesteuert wird, wie die Steuerungsebene installiert und aktualisiert wird, können Sie die meisten Konfigurationseinstellungen der Steuerungsebene nicht ändern, die in unserer Installation enthalten sind. Sie können die Standardinstallationsoptionen in den Manifesten für Ihre beschriftete Istio on GKE-Version sehen (das angewendete Manifest hängt von Ihrem gewählten mTLS-Modus und den Einstellungen für Cloud Logging, Cloud Monitoring oder Cloud Trace ab). Sie finden die Installationsoptionen für Version 1.0.3-gke.3 in der Konsole unter storage/browser/gke-release/istio/release/1.0.3-gke.3/manifests/. Alle Änderungen an diesen Optionen (mit Ausnahme der unten angegebenen Einstellungen) werden vom Kubernetes-Add-on-Manager rückgängig gemacht. Nicht bearbeitbare Optionen werden minütlich zurückgesetzt.

Die folgenden Einstellungen können (und sollten für Produktionsinstallationen) unter Benutzung des Add-ons konfiguriert werden:

  • Horizontale Skalierung für Komponenten der Steuerungsebene, entweder mit Autoscaling oder durch manuelles Festlegen der Anzahl der Replikate.
  • Ressourcenanfragen für Container auf Steuerungsebene.
  • Pod-Unterbrechungsbudgets für Bereitstellungen, die Sie während eines Upgrades benötigen, z. B. das bereitgestellte Istio Ingress Gateway.

Wie Sie diese Einstellungen konfigurieren, erfahren Sie unter Steuerungsebene konfigurieren.

Die von Ihnen angegebenen Einstellungen bleiben erhalten, wenn Ihre Installation über das Add-on aktualisiert wird.

Nächste Schritte