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:
- Knative Serving als Flottenkomponente installieren.
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:
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.
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:
Google Cloud-Projektberechtigungen: Einfache Bearbeiterrolle
Flottenberechtigungen: GKE-Hub-Administrator oder eine Rolle mit den folgenden Berechtigungen:
gkehub.features.create
gkehub.features.update
Clusterberechtigungen: Eine Kubernetes Engine-Administratorrolle:
- Kubernetes Engine-Administrator
- Kubernetes Engine Cluster Admin
Nur Cloud Service Mesh Version 1.18 wird unterstützt.
Anthos Service Mesh erfordert, dass Ihr Cluster einen Maschinentyp mit mindestens 4 vCPUs verwendet, z. B.
e2-standard-4
. Details zu den Anforderungen finden Sie in der Installationsanleitung für Cloud Service Mesh. Wenn Sie den Maschinentyp Ihres Clusters ändern müssen, lesen Sie die Informationen unter Arbeitslasten zu anderen Maschinentypen migrieren.Cloud Shell ist die empfohlene Umgebung zum Ausführen der Befehle und des Migrationsskripts während dieses Vorgangs. Beachten Sie, dass das Cloud Service Mesh-Installationsskript nur Linux und Cloud Shell unterstützt.
Wenn Ihre vorhandene Installation von Knative Serving das Istio on GKE-Add-on verwendet, müssen Sie zur verwalteten Cloud Service Mesh-Steuerungsebene migrieren. Die Migration vom Istio on GKE-Add-on zur clusterinternen Cloud Service Mesh-Steuerungsebene wird derzeit nicht 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.