Installation und Migration mehrerer Projekte für GKE

In diesem Leitfaden wird erläutert, wie Sie Anthos Service Mesh vom Open-Source-Framework Istio für ein Mesh mit mehreren GKE-Clustern in verschiedenen Google Cloud-Projekten installieren oder migrieren.

Sie können diese Anleitung für folgende Einrichtungs-Anwendungsfälle verwenden:

  • Neue Installationen von Anthos Service Mesh 1.8.6.

  • Migration von Open-Source-Istio 1.7 or 1.8 zu Anthos Service Mesh 1.8.6. Wenn Sie über eine frühere Version von Istio verfügen, müssen Sie vor der Migration zu Anthos Service Mesh ein Upgrade ausführen.

Nicht alle Features sind für Service Mesh mit Clustern in verschiedenen Projekten verfügbar. Insbesondere sind die Anthos Service Mesh-Dashboards in der Google Cloud Console derzeit nicht verfügbar. Sie können sich aber für jedes Projekt Logs in Cloud Logging und Messwerte in Cloud Monitoring ansehen.

Hinweise

In diesem Leitfaden wird Folgendes vorausgesetzt:

Wenn Sie von Istio migrieren, lesen Sie den Abschnitt Migration von Istio vorbereiten.

Unterschiede zwischen Anthos und Anthos Service Mesh

  • GKE Enterprise-Abonnenten müssen die GKE Enterprise API aktivieren.

    API aktivieren

  • Auch wenn Sie kein GKE Enterprise-Abonnent sind, können Sie Anthos Service Mesh installieren. Bestimmte UI-Elemente und Features in der Google Cloud Console sind jedoch nur für GKE Enterprise-Abonnenten verfügbar. Informationen dazu, was für Abonnenten und Nicht-Abonnenten verfügbar ist, finden Sie unter Unterschiede zwischen GKE Enterprise und Anthos Service Mesh. Informationen zu den Anthos Service Mesh-Preisen für Nicht-Abonnenten finden Sie unter Preise.

Voraussetzungen

  • Da sich Ihre Cluster in verschiedenen Projekten befinden, müssen sie in einer freigegebenen Virtual Private Cloud (VPC) sein. Informationen zum Konfigurieren Ihrer Cluster finden Sie unter Cluster mit freigegebener VPC einrichten.

  • Ihr GKE-Cluster muss die folgenden Anforderungen erfüllen:

    • Ein Maschinentyp mit mindestens vier vCPUs, z. B. e2-standard-4. Wenn der Maschinentyp für Ihren Cluster nicht mindestens vier vCPUs hat, ändern Sie den Maschinentyp, wie unter Arbeitslasten zu anderen Maschinentypen migrieren beschrieben.

    • Die Mindestanzahl an Knoten hängt vom Maschinentyp ab. Anthos Service Mesh erfordert mindestens acht vCPUs. Wenn der Maschinentyp vier vCPUs hat, muss der Cluster mindestens zwei Knoten haben. Wenn der Maschinentyp acht vCPUs umfasst, benötigt der Cluster nur einen Knoten. Informationen zum Hinzufügen von Knoten finden Sie unter Größe eines Clusters anpassen.

    • Zur Vorbereitung Ihres Clusters vor der Installation von Anthos Service Mesh aktivieren Sie Workload Identity. Workload Identity ist die empfohlene Methode zum Aufrufen von Google APIs. Wenn Sie Workload Identity aktivieren, ändert sich die Art und Weise, wie Aufrufe Ihrer Arbeitslasten an Google APIs gesichert werden. Weitere Informationen hierzu finden Sie unter Einschränkungen bei Workload Identity.

    • Es wird empfohlen, den Cluster in einer Release-Version zu registrieren. Es wird empfohlen, sich für die Release-Version "Regular" zu registrieren, da andere Versionen möglicherweise auf einer GKE-Version basieren, die mit Anthos Service Mesh nicht unterstützt wird. 1.8.6. Weitere Informationen finden Sie unter Unterstützte Umgebungen. Folgen Sie der Anleitung unter Vorhandenen Cluster in einer Release-Version registrieren, wenn Sie eine statische GKE-Version haben.

  • Für die Aufnahme in das Service Mesh müssen Dienstports benannt werden und der Name muss das Protokoll des Ports in der folgenden Syntax enthalten: name: protocol[-suffix], wobei die eckigen Klammern ein optionales Suffix angeben, das mit einem Bindestrich beginnen muss. Weitere Informationen finden Sie unter Dienstports benennen.

  • Wenn Sie Anthos Service Mesh in einem privaten Cluster installieren, müssen Sie Port 15017 in der Firewall öffnen, damit der Webhook mit automatischer Sidecar-Einfügung ordnungsgemäß funktioniert. Weitere Informationen finden Sie unter Port auf einem privaten Cluster öffnen.

  • Wenn Sie in Ihrer Organisation einen Dienstperimeter erstellt haben, müssen Sie möglicherweise den Mesh CA-Dienst dem Perimeter hinzufügen. Weitere Informationen finden Sie unter Mesh CA einem Dienstperimeter hinzufügen.

  • Mit einem Google Cloud-Projekt kann nur ein Mesh verknüpft sein.

Zertifizierungsstelle auswählen

Bei Neuinstallationen und Migrationen haben Sie die Option, die Anthos Service Mesh-Zertifizierungsstelle (Mesh CA) oder Citadel (jetzt in istiod eingebunden) als Zertifizierungsstelle für die Ausstellung gegenseitiger TLS-Zertifikate (mTLS-Zertifikate) zu verwenden.

Im Allgemeinen empfehlen wir, Mesh-CA zu verwenden, denn:

  • Mesh CA ist ein zuverlässiger und skalierbarer Dienst, der für dynamisch skalierte Arbeitslasten in Google Cloud optimiert ist.
  • Mit Mesh CA verwaltet Google die Sicherheit und Verfügbarkeit des CA-Back-Ends.
  • Mesh CA ermöglicht es Ihnen, sich für alle Cluster auf eine einzige Root of Trust zu verlassen.

In einigen Fällen ist es jedoch ratsam, Citadel zu verwenden. Hier einige Beispiele:

  • Mit einer benutzerdefinierten Zertifizierungsstelle.
  • Wenn Sie von Istio migrieren.

    Wenn Sie Citadel auswählen, gibt es keine Ausfallzeiten, da der mTLS-Traffic während der Migration nicht unterbrochen wird. Wenn Sie Mesh-CA auswählen, müssen Sie die Ausfallzeit für die Migration planen, da sich der Root of Trust von Citadel zu Mesh CA ändert. Sie müssen alle Pods in allen Namespaces neu starten, um die Migration zum Mesh-CA Root of Trust abzuschließen. Während dieses Vorgangs können die alten Pods keine mTLS-Verbindungen zu den neuen Pods herstellen.

Zertifikate der Mesh CA enthalten die folgenden Daten zu den Diensten Ihrer Anwendung:

  • Die Google Cloud-Projekt-ID
  • Der GKE-Namespace
  • Der Name des GKE-Dienstkontos

Cluster registrieren

Obwohl es derzeit nicht erforderlich ist, empfehlen wir die Registrierung Ihres Clusters in der Flotte Ihres Projekts, die bisher als Environ bezeichnet wurde. Mit einer Flotte können Sie Cluster organisieren, um die Verwaltung mehrerer Cluster zu vereinfachen. Wenn Sie Ihre Cluster in einer Flotte registrieren, können Sie Dienste und andere Infrastruktur nach Bedarf gruppieren, um einheitliche Richtlinien anzuwenden. Wenn Sie Cluster in verschiedenen Projekten haben, müssen Sie die Cluster beim Flotten-Hostprojekt statt bei dem Projekt registrieren, in dem der Cluster erstellt wurde. Weitere Informationen zum Registrieren Ihres Clusters finden Sie unter Cluster in der Flotte registrieren.

Das Konzept eines Flotten-Hostprojekts ist wichtig, wenn Sie Ihren Cluster einrichten, um die von Anthos Service Mesh benötigten Optionen zu aktivieren. Das Service Mesh für Ihren Cluster wird mit einem Wert identifiziert, der auf einer Projektnummer basiert. Wenn Sie Cluster aus verschiedenen Projekten einrichten, müssen Sie die Projektnummer für das Flotten-Hostprojekt verwenden.