Aggiornamento Apigee Edge da 4.50.00 o da 4.51.00 a 4.52.00

Apigee supporta l'upgrade di Edge for Private Cloud dalla versione 4.50.00 o dalla versione 4.51.00 direttamente alla versione 4.52.00. Questa pagina descrive come eseguire entrambi gli upgrade.

Chi può eseguire l'aggiornamento

L'utente che esegue l'aggiornamento deve essere la stessa persona che ha installato Edge inizialmente o un utente che esegue l'aggiornamento come utente root.

Dopo aver installato gli RPM di Edge, chiunque può configurarli.

Quali componenti devi aggiornare

Devi aggiornare tutti i componenti di Edge. Edge non supporta una configurazione contenente componenti di più versioni.

Aggiorna i prerequisiti

Prima di eseguire l'upgrade di Apigee Edge, verifica i seguenti prerequisiti:

  • Esegui il backup di tutti i nodi
    Per motivi di sicurezza, prima di eseguire l'aggiornamento ti consigliamo di eseguire un backup completo di tutti i nodi. Utilizza la procedura per la versione corrente di Edge per eseguire il backup.

    In questo modo avrai un piano di riserva nel caso in cui l'aggiornamento a una nuova versione non funzioni correttamente. Per ulteriori informazioni sul backup, consulta Backup e ripristino.

  • Assicurati che Edge sia in esecuzione
    Assicurati che Edge sia in esecuzione durante il processo di aggiornamento utilizzando il comando:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Assicurati che la strategia di compattazione di Cassandra sia LeveledCompactionStrategy
    Assicurati che la strategia di compattazione di Cassandra sia impostata su LeveledCompactionStrategy, come descritto in Modificare la strategia di compattazione di Cassandra.

Propagazione automatica delle impostazioni della proprietà

Se hai impostato proprietà modificando i file .properties in /opt/apigee/customer/application, questi valori vengono mantenuti dall'aggiornamento.

Upgrade richiesto a Zookeeper 3.8.0

Questa release di Edge per i cloud privati include un upgrade a Zookeeper 3.8.0. Nell'ambito di questo upgrade, verrà eseguita la migrazione di tutti i dati di Zookeeper a Zookeeper 3.8.0.

Prima di eseguire l'upgrade di Zookeeper, leggi la guida alla manutenzione di Zookeeper. La maggior parte dei sistemi di produzione Edge utilizza un cluster di nodi Zookeeper distribuiti su più data center. Alcuni di questi nodi sono configurati come elettori che partecipano all'elezione del leader di ZooKeeper, mentre gli altri sono configurati come osservatori. Per ulteriori dettagli, consulta Informazioni su leader, follower, votanti e osservatori. I nodi di voto eleggono un leader, dopodiché diventano essi stessi follower.

Durante la procedura di aggiornamento, potrebbe verificarsi un ritardo momentaneo o un errore di scrittura in Zookeeper quando il nodo leader viene arrestato. Ciò potrebbe influire sulle operazioni di gestione che scrivono in Zookeeper, ad esempio l'operazione di deployment di un proxy, e sulle modifiche dell'infrastruttura Apigee, ad esempio l'aggiunta o la rimozione di un'elaborazione dei messaggi e così via. Non dovrebbe esserci alcun impatto sulle API di runtime di Apigee (a meno che queste API di runtime non chiamino API di gestione) durante l'upgrade di Zookeeper se segui la procedura riportata di seguito.

In linea generale, la procedura di upgrade prevede il backup di ogni nodo. Segue l'upgrade di tutti gli osservatori e dei follower e infine l'upgrade del nodo leader.

Esegui un backup

Esegui il backup di tutti i nodi di Zookeeper per utilizzarlo nel caso in cui sia necessario un rollback. Tieni presente che un rollback ripristina Zookeeper allo stato al momento del backup. Nota: eventuali implementazioni o modifiche dell'infrastruttura in Apigee dal momento del backup (le cui informazioni sono memorizzate in Zookeeper) andranno perse durante il ripristino.

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper backup

Se utilizzi macchine virtuali e disponi della funzionalità, è possibile anche eseguire snapshot o backup delle VM per il ripristino o il rollback (se necessario).

Identificare leader, follower e osservatori

Nota:i comandi di esempio riportati di seguito utilizzano l'utilità nc per inviare dati a Zookeeper. Puoi anche utilizzare utilità alternative per inviare dati a Zookeeper.

  1. Se non è installato sul nodo ZooKeeper, installa nc:
      sudo yum install nc
  2. Esegui il seguente comando nc sul nodo, dove 2181 è la porta ZooKeeper:
      echo stat | nc localhost 2181

    Dovresti vedere un output simile al seguente:

      Zookeeper version: 3.8.0-5a02a05eddb59aee6ac762f7ea82e92a68eb9c0f, built on 2022-02-25 08:49 UTC
      Clients:
       /0:0:0:0:0:0:0:1:41246[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0.2518/41
      Received: 647228
      Sent: 647339
      Connections: 4
      Outstanding: 0
      Zxid: 0x400018b15
      Mode: follower
      Node count: 100597

    Nella riga Mode dell'output per i nodi, dovresti vedere observer, leader o follower (ovvero un elettore che non è il leader), a seconda della configurazione del nodo. Nota: in un'installazione autonoma di Edge con un singolo nodo ZooKeeper, Mode è impostato su autonomo.

  3. Ripeti i passaggi 1 e 2 su ogni nodo ZooKeeper.

Esegui l'upgrade di Zookeeper sui nodi di osservatore e follower

Esegui l'upgrade di Zookeeper su ciascun nodo di osservatore e follower come segue:

  1. Scarica ed esegui il bootstrap di Edge for Private Cloud 4.52, come descritto in Aggiornamento alla versione 4.52.00 su un nodo con una connessione a internet esterna. La procedura probabilmente varierà a seconda che il nodo abbia una connessione a internet esterna o se stai eseguendo un'installazione offline.
  2. Esegui l'upgrade del componente Zookeeper:
      /opt/apigee/apigee-setup/bin/update.sh -c zk -f <silent-config-file>
    Nota: se su questi nodi sono installati altri componenti (ad esempio Cassandra), puoi eseguire l'upgrade anche di questi (ad esempio con il profilo cs,zk) o puoi eseguire l'upgrade degli altri componenti in un secondo momento. Apigee consiglia di eseguire prima l'upgrade solo di Zookeeper e di assicurarti che il cluster funzioni correttamente prima di eseguire l'upgrade di altri componenti.
  3. Ripeti i passaggi precedenti su ciascun nodo Zookeeper di osservatore e follower.

Spegni il leader

Dopo aver eseguito l'upgrade di tutti i nodi di osservatori e follower, arresta il nodo leader. Sul nodo identificato come leader, esegui il comando seguente:

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop

Tieni presente che durante questo evento, prima che venga eletto un nuovo leader, potrebbero verificarsi ritardi temporanei o errori di scrittura in Zookeeper. Ciò potrebbe influire sulle operazioni di scrittura in Zookeeper, come l'azione di deployment dei proxy o le modifiche all'infrastruttura di Apigee, ad esempio l'aggiunta o la rimozione di elaboratori di messaggi e così via.

Verifica che il nuovo leader sia stato eletto

Seguendo i passaggi descritti nella sezione Identifica leader, seguaci e osservatori qui sopra, verifica che sia stato eletto un nuovo leader tra i seguaci, una volta interrotto il leader esistente. Tieni presente che il leader potrebbe essere stato eletto in un centro dati diverso rispetto all'attuale leader.

Leader dell'upgrade

Segui gli stessi passaggi descritti in Upgrade di Zookeeper sui nodi di osservatore e follower sopra.

Una volta eseguito l'upgrade anche del vecchio nodo leader, verifica l'integrità del cluster e assicurati che sia presente un nodo leader.

Esegui il rollback

Se è necessario un rollback:

  1. Esegui prima i passaggi di rollback su osservatori e follower.
  2. Scarica ed esegui il bootstrap della versione a cui esegui il rollback, 4.50 o 4.51. La procedura varierà probabilmente a seconda che il nodo abbia una connessione a internet esterna o se stai seguendo l'installazione offline.
  3. Interrompi Zookeeper se è in esecuzione sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  4. Disinstalla zookeeper esistente:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
  • Installa Zookeeper come di consueto:
      /opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
  • Dopo aver eseguito il rollback di tutti i follower e gli osservatori, esegui il rollback del nodo leader seguendo i passaggi da 2 a 5 sul nodo leader.
  • Dopo aver eseguito il rollback di tutti i nodi, verifica l'integrità del cluster e assicurati che sia presente un nodo leader nel cluster.
  • Ripristina backup

    Fai riferimento a Ripristino da un backup. Tieni presente che i backup di Zookeeper realizzati da versioni precedenti di Edge for Private Cloud, come 4.50 e 4.51, devono essere compatibili con la versione di Zookeeper in Edge for Private Cloud 4.52.

    Upgrade obbligatorio a Postgres 14

    Questa release di Edge include un upgrade a Postgres 14. Nell'ambito di questo upgrade, tutti i dati di Postgres vengono migrati a Postgres 14.

    La maggior parte dei sistemi di produzione Edge utilizza due nodi Postgres configurati per la replica master-standby. Durante la procedura di aggiornamento, mentre i nodi Postgres sono inattivi per l'aggiornamento, i dati di analisi vengono comunque scritti nei nodi Qpid. Una volta aggiornati e di nuovo online, i dati di analisi vengono inviati ai nodi Postgres.

    Il modo in cui esegui l'aggiornamento di Postgres dipende da come hai configurato lo spazio di archiviazione dei dati per i tuoi nodi Postgres:

    • Se utilizzi lo spazio di archiviazione dei dati locale per i tuoi nodi Postgres, devi installare un nuovo nodo Postgres di riserva per la durata dell'upgrade. Al termine dell'upgrade, puoi ritirare il nuovo nodo standby Postgres.

      Il nodo Postgres di riserva aggiuntivo è necessario se devi eseguire il rollback dell'aggiornamento per qualsiasi motivo. Se devi eseguire il rollback dell'aggiornamento, il nuovo nodo Postgres standby diventa il nodo Postgres principale dopo il rollback. Pertanto, quando installi il nuovo nodo Postgres di riserva, deve trovarsi su un nodo che soddisfi tutti i requisiti hardware di un server Postgres, come definito nei requisiti di installazione di Edge.

      In una configurazione di Edge con 1 e 2 nodi, le topologie utilizzate per la prototipazione e i test, hai un solo nodo Postgres. Puoi aggiornare questi nodi Postgres direttamente senza dover creare un nuovo nodo Postgres.

    • Se utilizzi lo spazio di archiviazione di rete per i tuoi nodi Postgres, come consigliato da Apigee, non devi installare un nuovo nodo Postgres. Nelle procedure riportate di seguito, puoi saltare i passaggi che specificano di installare e successivamente dimettere un nuovo nodo Postgres di standby.

      Prima di iniziare la procedura di aggiornamento, acquisisci uno snapshot di rete dello spazio dati utilizzato da Postgres. Se si verificano errori durante l'aggiornamento e devi eseguire un rollback, puoi ripristinare il nodo Postgres da questo snapshot.

    Installazione di un nuovo nodo standby Postgres

    Questa procedura crea un server Postgres di riserva su un nuovo nodo. Assicurati di installare un nuovo server Postgres di riserva per la versione esistente di Edge (4.50.00 o 4.51.00), non per la versione 4.52.00.

    Per eseguire l'installazione, utilizza lo stesso file di configurazione utilizzato per installare la versione corrente di Edge.

    Per creare un nuovo nodo Postgres di standby:

    1. Nell'attuale master Postgres, modifica il file /opt/apigee/customer/application/postgresql.properties per impostare il seguente token. Se il file non esiste, creane uno:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust\ \nhost replication apigee new_standby_ip/32 trust

      dove existing_standby_ip è l'indirizzo IP dell'attuale server standby Postgres e new_standby_ip è l'indirizzo IP del nuovo nodo standby.

    2. Riavvia apigee-postgresql sul master Postgres:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    3. Verifica che il nuovo nodo di standby sia stato aggiunto visualizzando il file /opt/apigee/apigee-postgresql/conf/pg_hba.conf sul master. Dovresti vedere le seguenti righe nel file:
      host replication apigee existing_standby_ip/32 trust
      host replication apigee new_standby_ip/32 trust
    4. Installa il nuovo server Postgres di standby:
      1. Modifica il file di configurazione utilizzato per installare la versione corrente di Edge per specificare quanto segue:
        # IP address of the current master:
        PG_MASTER=192.168.56.103
        # IP address of the new standby node
        PG_STANDBY=192.168.56.102
      2. Disattiva SELinux come descritto in Installa l'utilità apigee-setup di Edge.
      3. Se al momento utilizzi Edge 4.51.00:

        1. Scarica il file bootstrap_4.51.00.sh di Edge in /tmp/bootstrap_4.51.00.sh :
          curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
        2. Installa l'utilità apigee-service di Edge e le dipendenze:
          sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

        Se al momento utilizzi Edge 4.50.00:

        1. Scarica il file bootstrap_4.50.00.sh di Edge in /tmp/bootstrap_4.50.00.sh :
          curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
        2. Installa l'utilità apigee-service di Edge e le dipendenze:
          sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
      4. Utilizza apigee-service per installare l'utilità apigee-setup:
        /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
      5. Installa Postgres:
        /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
      6. Sul nuovo nodo di standby, esegui il seguente comando:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        Verifica che sia in modalità standby.

    Eseguire un upgrade in loco di Postgres

    Nota: devi eseguire il seguente passaggio preliminare prima di eseguire un upgrade in situ di Postgres.

    Passaggio preliminare

    Prima di eseguire un upgrade in situ a Postgres, svolgi i seguenti passaggi sia sull'host master sia su quello standby per aggiornare la proprietà max_locks_per_transaction su apigee-postgresql:

    1. Se non è presente, crea il file /opt/apigee/customer/application/postgresql.properties.
    2. Modificare la proprietà di questo file in apigee:
      sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Aggiungi la proprietà seguente al file:
      conf/postgresql.conf+max_locks_per_transaction=30000
    4. Configura apigee-postgresql:
      apigee-service apigee-postgresql configure
    5. Riavvia apigee-postgresql:
      apigee-service apigee-postgresql restart

    Esegui l'upgrade in loco

    Per eseguire un upgrade in situ a Postgres 14:

    1. Esegui l'upgrade di postgres sull'host master
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    2. Esegui il comando di configurazione sull'host master:
      apigee-service apigee-postgresql setup -f /opt/silent.conf
    3. Esegui il comando configure sull'host principale:
      apigee-service apigee-postgresql configure
    4. Riavvia l'host master:
      apigee-service apigee-postgresql restart
    5. Configuralo come master:
      apigee-service apigee-postgresql setup-replication-on-master -f /opt/silent.conf
    6. Assicurati che l'host principale sia stato avviato:
      apigee-service apigee-postgresql wait_for_ready
    7. Interrompi la modalità standby:
      apigee-service apigee-postgresql stop
    8. Esegui l'upgrade della modalità standby.

      Nota:se questo passaggio genera errori/non va a buon fine, può essere ignorato. update.sh tenterà di avviare il server di riserva con una configurazione errata. Se l'installazione di Postgres viene aggiornata alla versione 14, l'errore può essere ignorato.

      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    9. Assicurati che la modalità standby sia interrotta:
      apigee-service apigee-postgresql stop
    10. Rimuovi la vecchia configurazione di standby:
      rm -rf /opt/apigee/data/apigee-postgresql/
    11. Configura la replica sul server di standby:
      apigee-service apigee-postgresql setup-replication-on-standby -f /opt/silent.conf
    12. Rimuovi la riga conf/postgresql.conf+max_locks_per_transaction=30000 dal file /opt/apigee/customer/application/postgresql.properties sia sull'host principale sia su quello di standby. Questa riga è stata aggiunta nel passaggio preliminare.

    Al termine di questa procedura, lo standby verrà avviato correttamente.

    Ritiro di un nodo Postgres

    Al termine dell'aggiornamento, esegui il ritiro del nuovo nodo di riserva:

    1. Assicurati che Postgres sia in esecuzione:
      /opt/apigee/apigee-service/bin/apigee-all status

      Se Postgres non è in esecuzione, avvialo:

      /opt/apigee/apigee-service/bin/apigee-all start
    2. Recupera l'UUID del nuovo nodo di standby eseguendo il seguente comando curl sul nuovo nodo di standby:
      curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

      Dovresti vedere l'UUID del nodo alla fine dell'output, nel formato:

      "type" : [ "postgres-server" ],
      "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    3. Interrompi il nuovo nodo di standby eseguendo il seguente comando sul nuovo nodo di standby:
      /opt/apigee/apigee-service/bin/apigee-all stop
    4. Sul nodo master Postgres, modifica /opt/apigee/customer/application/postgresql.properties per rimuovere il nuovo nodo di standby da conf_pg_hba_replication.connection:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust
    5. Riavviare apigee-postgresql sul master Postgres:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    6. Verifica che il nuovo nodo di standby sia stato rimosso visualizzando il /opt/apigee/apigee-postgresql/conf/pg_hba.conf file sul master. Dovresti vedere solo la seguente riga nel file:
      host replication apigee existing_standby_ip/32 trust
    7. Elimina l'UUID del nodo di standby da ZooKeeper eseguendo la seguente chiamata all'API Edge Management sul nodo del server di gestione:
      curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/new_standby_uuid

    Passaggi post-upgrade per Postgres

    Dopo un upgrade di Postgres di grandi dimensioni, le statistiche interne di Postgres vengono eliminate. Queste statistiche aiutano il pianificatore delle query di Postgres a utilizzare gli indici e i percorsi più ottimali per eseguire le query.

    Postgres può ricostruire gradualmente le statistiche nel tempo man mano che le query vengono eseguite e quando viene eseguito il demone autovacuum. Tuttavia, fino a quando le statistiche non vengono ricostruite, le query potrebbero essere lente.

    Per risolvere il problema, esegui ANALYZE su tutte le tabelle del database sul nodo Postgres principale. In alternativa, puoi eseguire ANALYZE per alcune tabelle alla volta.

    Interfaccia utente del nuovo Edge

    Questa sezione elenca le considerazioni relative all'interfaccia utente di Edge. Per ulteriori informazioni, consulta La nuova UI di Edge per il cloud privato.

    Installare l'interfaccia utente di Edge

    Dopo aver completato l'installazione iniziale, Apigee consiglia di installare l'interfaccia utente di Edge, un'interfaccia utente avanzata per sviluppatori e amministratori di Apigee Edge for Private Cloud.

    Tieni presente che l'interfaccia utente di Edge richiede di disattivare l'autenticazione di base e di utilizzare un IDP come SAML o LDAP.

    Per ulteriori informazioni, vedi Installare la nuova UI di Edge.

    Aggiornare l'interfaccia utente di Edge

    Per aggiornare il componente dell'interfaccia utente di Edge, prendi in considerazione la versione di Edge per il cloud privato da cui stai eseguendo l'upgrade:

    Aggiornamento con mTLS di Apigee

    Per aggiornare Apigee mTLS , segui questi passaggi:

    Eseguire il rollback di un aggiornamento

    In caso di errore di aggiornamento, puoi provare a correggere il problema, quindi eseguire nuovamente update.sh. Puoi eseguire l'aggiornamento più volte e l'aggiornamento continuerà da dove si era interrotto l'ultima volta.

    Se l'errore richiede il rollback dell'aggiornamento alla versione precedente, consulta Eseguire il rollback alla versione 4.52.00 per istruzioni dettagliate.