Upgrade di Apigee hybrid alla versione 1.4 in corso...

Panoramica dell'aggiornamento 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 modo appropriato.
  3. Esegui l'upgrade di ASM.
  4. Installare il runtime ibrido versione 1.4.

Prerequisito

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 di Cassandra
  3. Esegui l'upgrade della tua piattaforma Kubernetes come segue. Se hai bisogno di aiuto, segui la documentazione della piattaforma:
    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. Aggiorna 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 tuo 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:

Installazione del runtime ibrido 1.4.4

  1. Archivia 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 di release 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 della 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. Per impostazione predefinita, i contenuti tar vengono espansi in una directory il cui nome contiene la versione e la piattaforma. 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 il modello ibrido 1.4.4:
      apigeectl init -f overrides.yaml

      Dove overrides.yaml è 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 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 con il comando appropriato per la tua versione di kubectl:

      kubectl 1.17 e versioni 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 gli ambienti demo/sperimentali, a seconda dell'installazione.

      Produzione

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

      1. Applica gli override 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 ibrido Apigee.

        Procedi al passaggio successivo solo quando i pod sono pronti.

      3. Applica gli override per eseguire l'upgrade dei componenti di telemetria e verificare 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 possibilità:
        • Ambiente per ambiente: applica gli override 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 esegui 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 è ampio e complesso o imita da vicino un ambiente di produzione, ti consigliamo di utilizzare le istruzioni per eseguire 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 correttamente l'upgrade ad Apigee hybrid versione 1.4.4.