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

Prerequisito

Eseguire 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 riportate in Backup e recupero di Cassandra
  3. Esegui l'upgrade della piattaforma Kubernetes come segue. Se hai bisogno di aiuto, segui la documentazione della tua piattaforma:
    Piattaforma Esegui l'upgrade alla versione
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x che utilizza cluster collegati ad Anthos
    EKS 1.18.x che utilizza 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 di ingresso 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 richieste di modifica 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 ASM:

Installa il runtime di hybrid 1.4.4

  1. Memorizza il numero della 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, puoi salvarla in una variabile di ambiente. Ad esempio:
    echo $VERSION
      1.4.4
  3. Scarica il pacchetto della release 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 a 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 nuova directory apigeectl/, 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 avere il seguente aspetto:

      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. Verifica la presenza di errori con una prova simulata utilizzando 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 le sostituzioni. 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 ibrida singolarmente e controllare lo stato del componente di cui è stato eseguito l'upgrade prima di procedere con il componente successivo.

      1. Applica le sostituzioni per eseguire l'upgrade di Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Controlla il completamento:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        dove namespace è il tuo spazio dei nomi Apigee hybrid.

        Vai al passaggio successivo solo quando i pod sono pronti.

      3. Applica le sostituzioni 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 le sostituzioni per eseguire l'upgrade dei componenti a livello di organizzazione (MART, Watcher e Apigee Connect) e controlla il completamento:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. Applica le sostituzioni per eseguire l'upgrade degli ambienti. Hai due opzioni:
        • Per ambiente: applica le sostituzioni a un ambiente alla volta e controlla 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 le sostituzioni a tutti gli ambienti contemporaneamente e controlla 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 le sostituzioni a tutti i componenti contemporaneamente. Se il tuo ambiente di prova/sperimentale è grande e complesso o imita molto 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 alla versione 1.4.4 di Apigee hybrid.