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

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. Installare il runtime ibrido versione 1.4.

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 tua piattaforma Kubernetes come segue. Segui la documentazione della 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 che utilizza cluster collegati ad Anthos
    EKS 1.18.x utilizzando Anthos cluster collegati
  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 tuo 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 di ASM:

Installazione del runtime ibrido 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. 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 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 il contenuto 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 a 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 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 oppure 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 ibrido Apigee.

        Procedi 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 a disposizione 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 esegui 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 correttamente l'upgrade ad Apigee hybrid versione 1.4.4.