Upgrade di Apigee hybrid alla versione 1.4

Panoramica dell'upgrade alla versione 1.4.4.

Le procedure per l'upgrade di Apigee hybrid sono organizzate nelle seguenti sezioni:

  1. Esegui il backup dell'installazione ibrida.
  2. Controlla la versione di Kubernetes ed esegui l'upgrade in base alle tue esigenze.
  3. Esegui l'upgrade di ASM.
  4. Installa il runtime ibrido versione 1.4.

Prerequisiti

Esegui l'upgrade alla versione 1.4

  1. (Consigliato) Crea una copia di backup della directory $APIGEECTL_HOME/ della versione 1.3. Ad esempio:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Consigliato) Esegui il backup del database Cassandra seguendo le istruzioni in Backup e ripristino Cassandra
  3. Esegui l'upgrade della tua piattaforma Kubernetes come descritto di seguito. Segui la documentazione della tua piattaforma se hai bisogno di assistenza:
    Piattaforma Esegui l'upgrade alla versione
    GKE 1,18,x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x con cluster collegati ad Anthos
    EKS 1.18.x con cluster collegati ad Anthos
  4. Esegui l'upgrade di ASM alla versione 1.6.x.
    1. Esegui l'upgrade utilizzando la documentazione di ASM:
    2. Specifica le seguenti porte in entrata e imposta la proprietà runAsRoot su true nel file istio-operator.yaml"
          … … …
                  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. Crea RP PeerAuthentication per la disattivazione di mTLS nel file 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. Applica queste modifiche con istioctl come descritto nella documentazione di ASM:

installa il runtime ibrido 1.4.4

  1. Memorizza il numero di versione più recente in una variabile:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Verifica che la variabile sia stata compilata con un numero di versione. Se vuoi utilizzare una versione diversa, salvala in una variabile di ambiente. Ad esempio:
    echo $VERSION
      1.4.4
  3. Scarica il pacchetto di rilascio per il tuo sistema operativo:

    Mac 64 bit:

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

    Linux a 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 a 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Rinomina la directory apigeectl/ attuale in un nome di directory di backup. Ad esempio:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Estrai il contenuto del file gzip scaricato nella directory base ibrida. Ad esempio:

    tar xvzf filename.tar.gz -C hybrid-base-directory

  6. cd alla directory di base.
  7. I contenuti tar vengono, per impostazione predefinita, espansi in una directory che contiene la versione e la piattaforma nel nome. Ad esempio: ./apigeectl_1.4.4-xxx_linux_64. Rinomina la directory in apigeectl:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. Nella nuova directory apigeectl/, esegui apigeectl init, apigeectl apply e apigeectl check-ready:
    1. Inizializza l'ibrido 1.4.4:
      apigeectl init -f overrides.yaml

      Dove overrides.yaml si trova il file override.yaml modificato.

    2. Verifica che sia stato inizializzato correttamente con i seguenti comandi:
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      L'output dovrebbe essere simile al seguente:

      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. La sintassi del flag --dry-run apigeectl dipende dalla versione di kubectl in esecuzione. Controlla la versione di kubectl:
      gcloud version
    4. Verifica la presenza di errori con una prova con il comando appropriato per la tua versione di kubectl:

      kubectl versione 1.17 e precedenti:

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

      kubectl 1.18 e versioni successive:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Applica gli override. Seleziona e segui le istruzioni per gli ambienti di produzione o per gli ambienti demo/sperimentali, a seconda dell'installazione.

      Produzione

      Per gli ambienti di produzione, devi eseguire l'upgrade di ogni componente ibrido singolarmente e controllare lo stato del componente aggiornato prima di passare al componente successivo.

      1. Applica gli override per eseguire l'upgrade di Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Completamento del controllo:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Dove namespace è lo spazio dei nomi ibrido di Apigee.

        Procedi al passaggio successivo solo quando i pod sono pronti.

      3. Applica gli override per eseguire l'upgrade dei componenti di telemetria e controlla il completamento:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Applica gli override per eseguire l'upgrade dei componenti a livello di organizzazione (MART, Watcher e Apigee Connect) e verifica il completamento:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. Applica gli override per eseguire l'upgrade dei tuoi ambienti. Hai due possibilità:
        • Ambiente per ambiente: applica gli override a un ambiente alla volta e verifica il completamento. Ripeti questo passaggio per ogni ambiente:
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          Dove env_name è il nome dell'ambiente di cui stai eseguendo l'upgrade.

        • Tutti gli ambienti contemporaneamente: applica gli override a tutti gli ambienti contemporaneamente e verifica il completamento:
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demo/sperimentale

      Nella maggior parte degli ambienti dimostrativi o sperimentali, puoi applicare gli override a tutti i componenti contemporaneamente. Se il tuo ambiente demo/sperimentale è di grandi dimensioni e complesso o riproduce da vicino un ambiente di produzione, puoi utilizzare le istruzioni per l'upgrade degli ambienti di produzione

      1. apigeectl apply -f overrides.yaml
      2. Controlla lo stato:
        apigeectl check-ready -f overrides.yaml

    Complimenti! Hai eseguito l'upgrade alla versione ibrida di Apigee 1.4.4.