Eseguire l'upgrade di Apigee hybrid alla versione 1.4

<0x0A

Se esegui l'upgrade da Apigee hybrid versione 1.2 o precedente, devi prima eseguire l'upgrade alla versione 1.3 prima di eseguire l'upgrade alla versione 1.4.4. Consulta le istruzioni per l'upgrade di Apigee hybrid alla versione 1.3.

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 esigenze.
  3. Esegui l'upgrade di ASM.
  4. Installa la versione 1.4 del runtime di hybrid.

Prerequisito

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 riportate in Backup e ripristino di Cassandra.
  3. Esegui l'upgrade della piattaforma Kubernetes come segue. Consulta la documentazione della tua piattaforma se hai bisogno di aiuto:
    Piattaforma Esegui l'upgrade alla versione
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x utilizzando i cluster collegati ad Anthos
    EKS 1.18.x utilizzando i 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 CR PeerAuthentication per disattivare 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 di hybrid 1.4.4

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

    Mac a 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 con il nome di una directory di backup. Ad esempio:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Estrai i contenuti del file gzip scaricato nella directory di base ibrida. Ad esempio:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd alla directory di base.
  7. Per impostazione predefinita, i contenuti del file tar vengono espansi in una directory con 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 directory apigeectl/ nuova, esegui apigeectl init, apigeectl apply e apigeectl check-ready:
    1. Inizializza hybrid 1.4.4:
      apigeectl init -f overrides.yaml

      Dove overrides.yaml è il file overrides.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 a questo:

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

      kubectl versione 1.17 e precedenti:

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

      kubectl versione 1.18 e successive:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Applica gli override. Seleziona e segui le istruzioni per gli ambienti di produzione o 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 procedere con il 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 Apigee hybrid.

        Procedi al passaggio successivo solo quando i pod sono pronti.

      3. Applica gli override per eseguire l'upgrade dei componenti di Telemetry e verifica 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 degli ambienti. Hai due opzioni:
        • 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 demo o sperimentali, puoi applicare gli override a tutti i componenti contemporaneamente. Se il tuo ambiente demo/sperimentale è grande e complesso o imita da vicino un ambiente di produzione, ti consigliamo di 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 ad Apigee hybrid versione 1.4.4.