Upgrade auf Istio 1.6 mit Operator durchführen

Auf dieser Seite wird beschrieben, wie Sie ein Upgrade auf Istio 1.6 mit Operator vor der Migration zu Open-Source-Istio durchführen.

Ab Version 1.6 verwendet das Add-on „Istio on Google Kubernetes Engine“ den Istio-Operator für die Installation und Konfiguration. Der Istio-Operator entspricht dem Operatormuster für Kubernetes. Mit dem Operator können Sie Istio konfigurieren. Definieren Sie dazu eine benutzerdefinierte Ressourcendefinition von Kubernetes für die Istio-Installation. Der Operator verwendet dann einen Controller, um die Installation an die benutzerdefinierte Ressource anzupassen.

Wenn Sie Ihren Cluster auf Version 1.17.17-gke.3100+, 1.18.16-gke.1600+ oder 1.19.8-gke.1600+ aktualisieren, werden der Istio 1.6-Operator und die Steuerungsebene neben der vorhandenen Istio-Steuerungsebene 1.4.x installiert. Das Upgrade erfordert eine Nutzeraktion und verwendet Überarbeitungen, um Ihre Arbeitslasten auf die neue Steuerungsebene zu migrieren. Bei einem auf Überarbeitung basierenden Upgrade migrieren Sie zur Version 1.6. Legen Sie auf Ihren Arbeitslasten ein Label fest, das auf die neue Steuerungsebene verweist, und führen Sie einen rollierenden Neustart durch.

Wir geben keine Version 1.5 des Add-ons "Istio on Google Kubernetes Engine" heraus. Version 1.6 ist die Version, die nach 1.4.10 veröffentlicht wird.

Vorteile des Istio Operator

Der Operator ermöglicht eine bessere Konfigurierbarkeit der Installation. In Versionen des Add-Ons vor 1.6 gleicht der GKE-Add-On-Manager alle Änderungen am Istio-Manifest ab und verhindert die meisten Arten von Konfigurationsänderungen. Für den Istio Operator gilt diese Einschränkung nicht. Der Operator generiert ein Istio-Installationsmanifest auf der Basis der benutzerdefinierten Istio-Ressource (CR), das Sie während der Installation bereitstellen. Diese CR befindet sich unter Ihrer Kontrolle und wird nie abgeglichen.

Upgrade auf Istio 1.6 mit Operator durchführen

Führen Sie die Schritte in diesem Abschnitt aus, um ein Upgrade auf Istio 1.6 mit Operator durchzuführen.

Sie müssen diese Schritte nur einmal ausführen, um auf den Operator umzustellen. Nachfolgende Upgrades folgen dem Upgrade-Prozess der dualen Steuerungsebene.

  1. Wählen Sie eine GKE-Version aus, die Istio 1.6 (1.17.17-gke.3100+, 1.18.16-gke.1600+, 1.19.8-gke.1600+) enthält, und aktualisieren Sie Ihren Cluster.

    Das Add-on „Istio on Google Kubernetes Engine“ mit Istio 1.6 installiert zwei Versionen von Istio:

    • Die statische Manifestversion, die vom Add-on-Manager gesteuert wird (die nach dem Upgrade des Clusters aktiv ist).

    • Die vom Operator gesteuerte Version 1.6 (die bis zur Aktivierung inaktiv ist). Die inaktive Version 1.6 stellt keine Verbindung zu Proxys her und nutzt keine verhandelbaren Clusterressourcen.

    Wenn sich die aktuell installierte Version von Istio von der Version im statischen Zielmanifest unterscheidet, führt das Upgrade des Clusters möglicherweise auch ein direktes Upgrade von Istio durch. Wenn in Ihrem Cluster derzeit Istio 1.4.6-gke.0 ausgeführt wird und Sie GKE-Cluster Version 1.17.7-gke.3100 auswählen, wird Ihre Istio-Steuerungsebene als Teil des Upgrades auf 1.4.10-gke.0 (oder höher) aktualisiert.

    Prüfen Sie mit dem folgenden Befehl, wie aktuelle die Version Ihres Clusters ist:

    kubectl get ns istio-system --show-labels | if [[ $(grep EnsureExists) ]];
    then echo "Version is recent enough"; else echo "Need more recent version"; fi
    

    Die Ausgabe der Console gibt an, ob die Clusterversion aktuell genug ist.

  2. Laden Sie das upgrade-14-16-Skript herunter:

    curl -LO https://storage.googleapis.com/csm-artifacts/asm/upgrade-14-16
    

    Sie können das Skript auf GitHub ansehen.

  3. Machen Sie das Skript ausführbar:

    chmod +x upgrade-14-16
    
  4. Achten Sie darauf, dass kubectl für den Cluster konfiguriert ist, den Sie aktualisieren möchten.

    gcloud container clusters get-credentials cluster-name
    

    Dabei ist cluster-name der Name des Clusters.

  5. Führen Sie das Skript aus:

    ./upgrade-14-16
    

    Das Skript führt Sie durch den Migrationsprozess für einen einzelnen Cluster.

  6. Führen Sie das Tool mit dem Flag --reset aus, um einen anderen Cluster zu migrieren:

    ./upgrade-14-16 --reset
    

    Wiederholen Sie dann die Schritte 4 und 5.