Installieren Sie Knative Serving als GKE Enterprise-Flottenkomponente.
Hinweise
Sie müssen zuerst prüfen, ob die Anforderungen für das Upgrade erfüllt sind.
In den Befehlen auf dieser Seite werden die Umgebungsvariablen und das Migrationsskript aus dem Vorbereitungsschritt für das Upgrade verwendet.
Es ist wichtig, dass Sie jeden Schritt dieses Prozesses in der angegebenen Reihenfolge ausführen.
Übersicht
Die Installation von Knative Serving als Flottenkomponente umfasst:
- Flotten in Ihrem Google Cloud-Projekt aktivieren
gke-system-gateway
-Gateway in dasknative-ingress-gateway
-Gateway kopieren- Benutzerdefinierte Ressource von Knative Serving in Ihrem Cluster installieren
Beachten Sie, dass Ihre bestehenden Knative Serving-Dienste während dieses Vorgangs weiterhin Traffic ohne Unterbrechung bereitstellen.
Knative Serving-Flottenkomponente installieren
In diesem Abschnitt wird das Migrationsskript verwendet, um Knative Serving als Flottenkomponente zu installieren.
Starten Sie das Migrationsskript mit dem folgenden Befehl:
./migration-addon.sh --command install-cloud-run-v2
Wenn Sie bei diesem Schritt Probleme haben oder etwas ändern möchten, können Sie diesen Migrationsskriptbefehl noch einmal ausführen.
Im Terminal werden Sie vom Migrationsskript aufgefordert, jede Aktion zu bestätigen. Geben Sie bei jeder Eingabeaufforderung
y
ein, um fortzufahren.Die Eingabeaufforderungen während der Installation der Knative Serving-Flottenkomponente sehen ungefähr so aus:
In the process of installing the Knative serving fleet component, the script performs the following: 1. Enabling the fleet in your Google Cloud project. 2. Copy gke-system-gateway Gateway to knative-ingress-gateway Gateway 3. Installing the Knative serving custom resource in your cluster. Continue? [Y/n] y 1. Enabling Anthos services? Continue? [Y/n] y Operation "operations/acf.p2-625914735451-10d4b6ff-68e1-4a09-97c4-79b209be5031" finished successfully. 2. Copying gke-system-gateway Gateway to knative-ingress-gateway Gateway configmap/original-knative-ingress-gateway-spec unchanged gateway.networking.istio.io/knative-ingress-gateway patched (no change) configmap/config-istio patched configmap/config-istio patched gateway.networking.istio.io "gke-system-gateway" deleted 3. Install the Knative serving custom resource in your cluster? Continue? [Y/n] y Waiting for Knative serving feature to be enabled Knative serving feature is enabled. The YAML file for the new operator appdevexperience-operator was created at /tmp/tmp.bI7H1qagGa/cloudrun.yaml customresourcedefinition.apiextensions.k8s.io/cloudruns.operator.run.cloud.google.com condition met kubeconfig entry generated for my-gke-cluster. Added the custom resource for Knative serving Waiting for Knative serving serving to be ready... Knative serving serving is not ready yet. Knative serving serving is ready. Removing the ValidatingWebhookConfiguration used to prevent deletion validatingwebhookconfiguration.admissionregistration.k8s.io "prevent-deletion-cloud-run-resources" deleted Knative serving has been installed as an Anthos fleet component
Bekanntes Problem für private Cluster
Wenn sich Ihre Installation von Knative Serving in einem privaten Cluster in Google Cloud befindet, erhalten Sie möglicherweise einen Zeitüberschreitungsfehler von:
Waiting for CRD cloudruns.operator.run.cloud.google.com to be created
Führen Sie den folgenden Befehl aus, um den Zeitüberschreitungsfehler zu umgehen:
cat <<EOF | kubectl apply -f - apiVersion: operator.run.cloud.google.com/v1alpha1 kind: CloudRun metadata: name: cloud-run EOF
Prüfen Sie, ob die Feature-Komponente von Knative Serving aktiviert ist:
Console
Prüfen Sie, ob die Knative-Serving-Komponente in der Google Cloud Console aktiviert ist:
Befehlszeile
Prüfen Sie, ob der
appdevexperience
-ZustandACTIVE
lautet:gcloud alpha container hub features list --project=PROJECT_ID
Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.
Weitere Informationen und zusätzliche Optionen finden Sie unter gcloud alpha container hub features list.
Nächste Schritte
Nachdem Cloud Service Mesh und Knative Serving installiert sind, können Sie mit der Migration und Einführung des Traffics für Ihre neuen Ressourcen beginnen.
Rollback
Wenn Sie ein Rollback der oben beschriebenen Schritte durchführen müssen, können Sie das Migrationsskript für Folgendes verwenden:
- Entfernen Sie die Kontrolle über Ihre Knative Serving-Ressourcen vom Operator
appdevexperience-operator
. - Löschen Sie die benutzerdefinierte Bereitstellungsressource von Knative Serving und deinstallieren Sie den Operator
appdevexperience-operator
. - Optional: Deaktivieren Sie das Knative Serving in der Flotte Ihres Google Cloud-Projekts.
So starten Sie den Rollback-Prozess:
Starten Sie das Migrationsskript mit dem folgenden Befehl:
./migration-addon.sh --command rollback-install-cloud-run-v2
Im Terminal werden Sie vom Migrationsskript aufgefordert, jede Aktion zu bestätigen. Geben Sie bei jeder Eingabeaufforderung
y
ein, um fortzufahren.Die Eingabeaufforderungen während der Deinstallation der Flottenkomponente sehen ungefähr so aus:
In the step of rolling back the Knative serving fleet installation, the script performs the following: 1. Remove control of Knative serving resources from the operator `appdevexperience-operator`. 2. Delete the Knative serving custom resource and uninstall the operator `appdevexperience-operator`. 3. Revert the changes installed by the Knative serving fleet component. 4. Optional: Disable Knative serving in the GKE Enterprise fleet of your Google Cloud project. Continue? [Y/n] y 1. Removing control of Knative serving resources from the operator `appdevexperience-operator`. Creating a ValidatingWebhookConfiguration to prevent the deletion of the resources under the following namespaces: knative-serving, cloud-run-system, and gke-system waiting for OwnerReferences of Knative serving resources to be deleted OwnerReferences of Knative serving resources are deleted Waiting for Knative serving serving to be ready... Knative serving serving is ready. 2. Delete the Knative serving custom resource and uninstall the operator `appdevexperience-operator`? Continue? [Y/n] y cloudrun.operator.run.cloud.google.com "cloud-run" deleted clusteractiveoperand.operand.run.cloud.google.com/sha256-3c1c80a329 patched waiting for appdevexperience namespace to be deleted 3. Revert the changes installed by the fleet component? configmap/config-observability patched 4. Optional: Disable Knative serving in the Anthos fleet of your Google Cloud project? You can choose to skip this step and keep the feature enable within your Anthos fleet. For example, you might want to keep the Knative serving fleet component enabled because it was enabled prior to this migration. Continue (or Skip)? [Y/n] n