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 che contiene 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, ti consigliamo di eseguire un backup completo di tutti i nodi prima di procedere con l'aggiornamento. 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 attivo e 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 a Zookeeper 3.8.0 obbligatorio

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, elettori e osservatori. I nodi degli elettori eleggono un leader, dopodiché i nodi degli elettori stessi diventano 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 ripristinerà Zookeeper allo stato in cui è stato eseguito il backup. Nota: eventuali modifiche ai deployment o all'infrastruttura in Apigee dopo l'acquisizione del backup (le cui informazioni sono archiviate 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 eseguire anche il ripristino o il rollback (se necessario) degli snapshot o dei backup delle VM.

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 come autonomo.

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

Esegui l'upgrade di Zookeeper sui nodi 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. Il processo varierà probabilmente a seconda che il nodo disponga di una connessione a internet esterna o che tu stia 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 di Zookeeper observer 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 fallimenti di scrittura in Zookeeper. Ciò potrebbe influire sulle operazioni che scrivono in Zookeeper, come l'azione di deployment dei proxy o le modifiche all'infrastruttura 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 data center diverso da quello attuale.

Leader dell'upgrade

Segui gli stessi passaggi descritti in Eseguire l'upgrade di Zookeeper sui nodi osservatore e follower in alto.

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

Nel caso in cui sia necessario un rollback:

  1. Esegui prima i passaggi di rollback su osservatori e follower.
  2. Scarica ed esegui il bootstrap della versione a cui vuoi eseguire 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>
  • Una volta 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

    Consulta la sezione Ripristina 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.

      Se per qualsiasi motivo devi eseguire il rollback dell'aggiornamento, è necessario il nodo di standby di Postgres aggiuntivo. 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 o 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 seguenti, puoi saltare i passaggi che specificano di installare e poi ritirare un nuovo nodo in standby Postgres.

      Prima di iniziare la procedura di aggiornamento, acquisisci uno snapshot di rete dell'archivio 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 in standby Postgres su un nuovo nodo. Assicurati di installare un nuovo server di standby Postgres per la tua 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 del server in standby Postgres attuale e new_standby_ip è l'indirizzo IP del nuovo nodo in 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. Il file dovrebbe contenere le seguenti righe:
      host replication apigee existing_standby_ip/32 trust
      host replication apigee new_standby_ip/32 trust
    4. Installa il nuovo server di standby Postgres:
      1. Modifica il file di configurazione che hai 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 standby.

    Esecuzione di 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 master:
      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 restituisce un errore o non va a buon fine, puoi ignorarlo. 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 in 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 master che in 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, ritira il 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. Arresta il nuovo nodo in standby eseguendo questo comando sul nuovo nodo in 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 in standby da ZooKeeper effettuando la seguente chiamata API di gestione perimetrale 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 importante upgrade di Postgres, le statistiche interne di Postgres sono state cancellate. Queste statistiche aiutano il pianificatore delle query di Postgres a utilizzare gli indici e i percorsi più ottimali per eseguire le query.

    Postgres può ricreare gradualmente le sue statistiche nel tempo man mano che vengono eseguite le query e quando viene eseguito il daemon autovacuum. Tuttavia, finché le statistiche non vengono ricreate, le query potrebbero essere lente.

    Per risolvere questo problema, esegui ANALYZE su tutte le tabelle del database sul nodo Postgres master. 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 maggiori informazioni, consulta La nuova UI perimetrale per il cloud privato.

    Installa la UI 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 la UI perimetrale richiede la disattivazione dell'autenticazione di base e l'utilizzo di 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:

    Aggiorna con Apigee mTLS

    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 ed 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.