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.
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.
Se non è installato sul nodo ZooKeeper, installa nc:
sudo yum install nc
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.
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:
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.
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:
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.
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:
Esegui prima i passaggi di rollback su osservatori e follower.
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.
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:
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:
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:
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:
Se non è presente, crea il file
/opt/apigee/customer/application/postgresql.properties.
Assicurati che l'host principale sia stato avviato:
apigee-service apigee-postgresql wait_for_ready
Interrompi la modalità standby:
apigee-service apigee-postgresql stop
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.
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:
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
Recupera l'UUID del nuovo nodo di standby eseguendo il seguente comando curl sul nuovo
nodo di standby:
Arresta il nuovo nodo in standby eseguendo questo comando sul nuovo nodo in standby:
/opt/apigee/apigee-service/bin/apigee-all stop
Sul nodo master Postgres, modifica /opt/apigee/customer/application/postgresql.properties
per rimuovere il nuovo nodo di standby da conf_pg_hba_replication.connection:
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:
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.
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 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:
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.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-11-14 UTC."],[],[]]