Knative Serving in Google Cloud auf Flotten aktualisieren

Verwenden Sie diese Anleitung, um Ihre vorhandene Installation von Knative Serving in Google Cloud zu migrieren, um eine Flotte mit Cloud Service Mesh zu verwenden.

Die vorherige „kostenlose Testversion“ von Knative Serving, die auch als GKE-Add-on bezeichnet wird, enthält eine integrierte und einfache Version von Istio 1.4, die ab Anthos 1.8 nicht mehr unterstützt wird.

Das Upgrade Ihrer Knative-Dienstinstallation auf Flotten und Cloud Service Mesh bietet eine verbesserte Unabhängigkeit von Produktupgrades und Verwaltung sowie eine verbesserte Integration aller GKE Enterprise-Features. Weitere Informationen zu Neuerungen und Änderungen

Für die Migration Ihrer Installation gibt es zwei Pfade:

  • Der empfohlene Prozess besteht darin, Ihre Arbeitslasten aus dem Cluster, in dem die vorherige Version von Knative Serving (GKE-Add-on) installiert ist, zu einem neuen Cluster zu migrieren, in dem Sie eine neue Flotteninstallation von Knative Serving installiert und konfiguriert haben. Dieser Prozess ist zwar relativ einfach und ideal, wenn Ihre Arbeitslasten Traffic bereitstellen, die Migration zu einem neu erstellten Cluster führt aber zu Ausfallzeiten. So führen Sie diesen Migrationspfad in Ihrem neuen Cluster aus:

    1. Knative Serving als Flottenkomponente installieren.
    2. Stellen Sie die Dienste für die neue Installation bereit.

      Sie können beispielsweise mit der Anleitung Überarbeitung eines vorhandenen Dienstes bereitstellen eine YAML-Konfigurationsdatei für jeden Ihrer Dienste einzeln herunterladen und dann jede YAML-Datei in Ihrem neuen Cluster in der Flotteninstallation von Knative Serving bereitstellen:

      1. In der alten Installation können Sie den folgenden Befehl ausführen, um eine YAML-Konfigurationsdatei wie service.yaml herunterzuladen:

        gcloud run services describe SERVICE --format export > service.yaml

        Ersetzen Sie SERVICE durch den Namen Ihres Knative-Serving-Dienstes.

      2. In der neuen Flottenkomponenten-Installation können Sie den folgenden Befehl ausführen, um dieselbe service.yaml-Datei bereitzustellen:

        gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID

        Ersetzen Sie:

        • CLUSTER_NAME durch den Namen des Clusters in der neuen Flottenkomponenten-Installation von Knative Serving.

        • CLUSTER_LOCATION durch die Zone oder Region des Clusters in Ihrer neuen Flottenkomponenten-Installation von Knative Serving.

        • PROJECT_ID durch die ID Ihres Google Cloud-Projekts, in dem sich Ihre neue Flottenkomponenten-Installation von Knative Serving befindet.

  • Alternative: Für Nutzer, die keinen neuen Cluster erstellen können und ihre aktive Installation von Knative Serving migrieren müssen, können Sie die Schritte in dieser Anleitung für Folgendes ausführen:

    • Entfernen Sie die vorherigen GKE-Add-on- und Istio-Ressourcen.
    • Installieren Sie neue Flottenressourcen.
    • Migrieren Sie zu Cloud Service Mesh und migrieren Sie dann den Traffic.
    • Bereinigen Sie alle veralteten und nicht verwendeten Ressourcen.

In der folgenden Anleitung wird beschrieben, wie Sie Ihre vorhandene und aktive Installation von Knative Serving einschließlich aller Arbeitslasten aktualisieren, um die Anforderungen von GKE Enterprise 1.8 und höher zu erfüllen.

Hinweise

  • Dieser Upgradeprozess darf nur auf Google Kubernetes Engine-Clustern durchgeführt werden, die Knative Serving zuvor als GKE-Add-on installiert haben.

    Prüfen, ob das GKE-Add-on installiert ist

    Mit dem folgenden Befehl können Sie prüfen, ob Ihre Installation von Knative Serving das GKE-Add-on ist:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
    

    Ersetzen Sie:

    • CLUSTER_NAME durch den Namen Ihres Clusters.
    • CLUSTER_LOCATION durch die Standort, an dem sich der Cluster befindet.
    • Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.

    Das Ergebnis:

    • GKE-Add-on ist nicht installiert:
      • Wenn das Add-on nie installiert war, wird nichts an Ihr Terminal zurückgegeben.
      • disabled=true wird zurückgegeben, wenn das Add-on zuvor deinstalliert wurde.
    • GKE-Add-on ist installiert: Wenn das Add-on in Ihrem Cluster installiert ist, werden die Konfigurationsdetails für das Add-on zurückgegeben. Beispiel: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Beispiel:
    Im folgenden Beispiel wird gezeigt, dass Knative Serving im Cluster my-addon-cluster über das GKE-Add-on installiert wurde, das für die Verarbeitung externen Traffics konfiguriert ist:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'
    

    Lösung:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    

  • Sie müssen ausreichende Berechtigungen in Ihrem Google Cloud-Projekt haben, um die Anforderungen für Ihren Cluster, Ihre Flotte und Ihr Cloud Service Mesh zu erfüllen:

    • Wenn Sie die Rolle Inhaber für das Google Cloud-Projekt haben, verfügen Sie über die erforderlichen Berechtigungen zum Erstellen von Clustern sowie zum Installieren und Konfigurieren von Knative Serving.

    • Die Berechtigungsanforderungen für Cloud Service Mesh erfüllen auch alle Berechtigungsanforderungen für die Installation und Konfiguration von Knative Serving.

    • Andere Rollen und Mindestanforderungen verwenden:

      Je nach Organisation können Sie die Berechtigungsanforderungen auch durch die Kombination der folgenden vordefinierten Rollen erfüllen:

  • Nur Cloud Service Mesh Version 1.18 wird unterstützt.

Upgrade von Knative Serving machen und Arbeitslasten migrieren

Wenn Sie das Upgrade Ihrer vorhandenen Installation von Knative Serving ausführen und Ihre Arbeitslasten migrieren möchten, führen Sie ein Skript aus, das die meisten Schritte automatisiert und Sie während des gesamten Prozesses zu den nötigen Eingaben auffordert.

  1. Upgrade vorbereiten und Umgebung einrichten

  2. GKE-Add-on deinstallieren

  3. Zu Cloud Service Mesh migrieren

  4. Flottenkomponente installieren

  5. Arbeitslast-Traffic zu Cloud Service Mesh migrieren

  6. Upgrade abschließen und Bereinigungsaufgaben ausführen