Upgrade von Apigee Hybrid auf Version 1.4 ausführen

Upgrade auf Version 1.4.4 – Übersicht.

Die Schritte zum Upgrade von Apigee Hybrid werden in den folgenden Abschnitten erläutert:

  1. Sichern Sie die Hybridinstallation.
  2. Überprüfen Sie Ihre Kubernetes-Version und führen Sie gegebenenfalls ein Upgrade durch.
  3. Upgrade für ASM vornehmen.
  4. Installieren Sie die Hybrid-Laufzeitversion 1.4.

Voraussetzung

Auf Version 1.4 aktualisieren

  1. Empfohlen: Erstellen Sie eine Sicherungskopie Ihres $APIGEECTL_HOME/-Verzeichnisses der Version 1.3. Beispiel:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. Empfohlen: Sichern Sie Ihre Cassandra-Datenbank entsprechend der Anleitung unter Cassandra-Sicherung und -Wiederherstellung.
  3. So führen Sie ein Upgrade Ihrer Kubernetes-Plattform durch: Weitere Informationen finden Sie in der Dokumentation der Plattform:
    Plattform Auf Version aktualisieren
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x mit an Anthos angehängten Clustern
    EKS 1.18.x mit an Anthos angehängten Clustern
  4. Führen Sie ein Upgrade von ASM auf Version 1.6.x durch.
    1. Führen Sie das Upgrade mithilfe der ASM-Dokumentation durch:
    2. Geben Sie die folgenden Ports für eingehenden Traffic an und setzen Sie das Attribut runAsRoot in Ihrer istio-operator.yaml-Datei auf true.
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. Erstellen Sie PeerAuthentication-Antwortvorlagen für die Deaktivierung von mTLS in der Datei istio-operator.yaml:
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. Wenden Sie diese Änderungen mit istioctl an, wie in der ASM-Dokumentation beschrieben:

Hybrid-Laufzeit 1.4.4 installieren

  1. Speichern Sie die neueste Versionsnummer in einer Variable:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Prüfen Sie, ob die Variable mit einer Versionsnummer gefüllt wurde. Wenn Sie eine andere Version verwenden möchten, können Sie diese stattdessen in einer Umgebungsvariablen speichern. Beispiel:
    echo $VERSION
      1.4.4
  3. Laden Sie das Release-Paket für Ihr Betriebssystem herunter:

    Mac 64-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux 32-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Benennen Sie Ihr aktuelles apigeectl/-Verzeichnis in einen Backupverzeichnisnamen um. Beispiel:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extrahieren Sie die heruntergeladenen gzip-Dateiinhalte in Ihr Hybrid-Basisverzeichnis. Beispiel:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd zum Basisverzeichnis.
  7. Die TAR-Inhalte werden standardmäßig in ein Verzeichnis mit der Version und der Plattform in ihrem Namen erweitert. Beispiel: ./apigeectl_1.4.4-xxx_linux_64. Benennen Sie dieses Verzeichnis in apigeectl um:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. Führen Sie im neuen apigeectl/-Verzeichnis apigeectl init, apigeectl apply und apigeectl check-ready aus:
    1. Initialisieren Sie Hybrid 1.4.4:
      apigeectl init -f overrides.yaml

      Dabei ist overrides.yaml die bearbeitete overrides.yaml-Datei.

    2. Überprüfen Sie mit den folgenden Befehlen, ob sie richtig initialisiert wurde:
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      Die Ausgabe sollte in etwa so aussehen:

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running
      
    3. Die Syntax des Flags apigeectl --dry-run hängt von der ausgeführten Version von kubectl ab. Prüfen Sie die Version von kubectl:
      gcloud version
    4. Suchen Sie nach Fehlern mit einem Probelauf, wobei der Befehl für Ihre Version von kubectl geeignet ist:

      kubectl-Version 1.17 und niedriger:

      apigeectl apply -f overrides.yaml --dry-run=true

      Ab kubectl-Version 1.18:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Wenden Sie Ihre Überschreibungen an. Wählen Sie je nach Ihrer Installation die Anleitung für Produktionsumgebungen oder Demo-/experimentelle Umgebungen aus und folgen Sie diesen.

      Produktion

      In Produktionsumgebungen sollten Sie jede Hybridkomponente einzeln aktualisieren und den Status der aktualisierten Komponente prüfen, bevor Sie mit der nächsten Komponente fortfahren.

      1. Wenden Sie Ihre Überschreibungen an, um Upgrade von Cassandra durchzuführen:
        apigeectl apply -f overrides.yaml --datastore
      2. Abschluss prüfen:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Dabei ist namespace Ihr Apigee Hybrid-Namespace.

        Fahren Sie mit dem nächsten Schritt nur fort, wenn die Pods bereit sind.

      3. Wenden Sie Ihre Überschreibungen an, um Telemetriekomponenten zu aktualisieren, und prüfen Sie den Fortschritt:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Wenn Sie Ihre Überschreibungen an, um zu aktualisieren die Komponenten auf Organisationsebene (MART, Watcher, Apigee Connect) und prüfen Sie den Abschluss des Vorgangs:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. Nutzen Sie Überschreibungen, um Ihre Umgebungen zu aktualisieren. Sie haben zwei Möglichkeiten:
        • Jede Umgebung separat: Sie wenden die Überschreibungen auf eine einzelne Umgebung gleichzeitig an und prüfen den Fortschritt. Wiederholen Sie den Schritt für jede Umgebung:
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          Dabei ist env_name der Name der Umgebung, die Sie aktualisieren.

        • Alle Umgebungen gleichzeitig: Sie können die Überschreibungen auf alle Umgebungen gleichzeitig anwenden und den Abschluss prüfen:
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demo/Experimentell

      In den meisten Demo- oder experimentellen Umgebungen können Sie die Überschreibungen auf alle Komponenten gleichzeitig anwenden. Wenn Ihre Demo-/experimentelle Umgebung groß und komplex ist oder eine Produktionsumgebung genau nachahmt, sollten Sie die Anleitung zur Aktualisierung von Produktionsumgebungen verwenden.

      1. apigeectl apply -f overrides.yaml
      2. Prüfen Sie den Status:
        apigeectl check-ready -f overrides.yaml

    Das wars! Sie haben erfolgreich ein Upgrade auf die Apigee Hybrid-Version 1.4.4 ausgeführt.