Edge per Private Cloud v4.18.01
In caso di errore durante un aggiornamento a Edge 4.18.01, puoi eseguire il rollback del componente che ha causato l'errore, quindi riprovare a eseguire l'aggiornamento. Ad esempio, se l'aggiornamento a Postgres 9.6 non va a buon fine, puoi eseguire il rollback solo dei nodi Postgres e riprovare a eseguire l'aggiornamento.
Esistono due scenari in cui potresti voler eseguire un rollback:
- Esegui il rollback a una release precedente. Ad esempio da 4.18.01 a 4.17.01.
- Esegui il rollback a una versione precedente nella stessa release.
Utilizza la procedura riportata di seguito per eseguire un rollback per entrambi gli scenari.
Chi può eseguire il rollback
L'utente che esegue il rollback dovrebbe essere lo stesso dell'utente che ha aggiornato Edge in origine o di un utente in esecuzione come root.
Per impostazione predefinita, i componenti Edge vengono eseguiti con l'utente "apigee". In alcuni casi, potresti eseguire i componenti Edge come utenti diversi. Ad esempio, se il router deve accedere alle porte con privilegi, come quelle inferiori a 1000, devi eseguirlo come utente root o come utente con accesso a queste porte. In alternativa, puoi eseguire un componente come un utente e un altro come un altro utente.
Quali componenti possono essere sottoposti a rollback
Quando esegui un rollback, tieni presente le seguenti condizioni:
- I cinque componenti di Edge elencati di seguito condividono il codice comune. Pertanto, per eseguire il rollback di uno qualsiasi dei cinque componenti su un nodo, devi eseguire il rollback di uno qualsiasi dei cinque installati sul nodo. Ad esempio, se sul nodo sono installati server di gestione, router e processore di messaggi, per eseguirne il rollback devi eseguire il rollback di tutti e tre.
I cinque componenti che condividono il codice sono:
- Server di gestione
- Router
- processore di messaggi
- Server Qpid
- Server Postgres
- Se stai eseguendo l'aggiornamento da Edge 4.16.01, non eseguire il rollback di Cassandra. Questa release di Edge contiene una versione aggiornata di Cassandra. Se esegui il rollback di eventuali componenti, lascia Cassandra alla versione 4.18.01.
Rollback della versione 4.18.01
Questa sezione contiene la procedura per eseguire il rollback di Edge 4.18.01 a una versione precedente. Questa sezione è divisa in due parti:
- Rollback dell'aggiornamento Postgres
La parte finale di ogni procedura di aggiornamento consiste nell'aggiornare i nodi Postgres alla versione 9.6. Se l'aggiornamento non riesce, puoi utilizzare questa procedura per eseguire il rollback dell'aggiornamento. - Rollback di tutti gli altri componenti Edge
Utilizza questa procedura per eseguire il rollback di tutti gli altri componenti Edge.
Eseguire il rollback dell'aggiornamento di Postgres 9.6
Per eseguire il rollback dell'aggiornamento di Postgres durante l'aggiornamento di Postgres in una configurazione di standby master, devi:
- Promuovi il nuovo nodo standby in modo che diventi il master Postgres. Il nuovo master Postgres sarà la stessa versione della precedente installazione di Edge.
- Configura il nodo standby precedente in modo che sia un nodo standby del nuovo master. Il nodo in standby precedente sarà la stessa versione dell'installazione Edge precedente.
- Registra i nuovi nodi master e standby con i gruppi di analisi e consumer.
Al termine del rollback, il nodo master precedente non sarà più necessario. Puoi quindi ritirare il vecchio nodo master.
- Assicurati che il nuovo nodo Postgres in standby 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
- Assicurati che Postgres sia arrestato sul nodo master e sul nodo standby precedente:
> /opt/apigee/apigee-service/bin/apigee-all status
Se Postgres è in esecuzione, interrompilo:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Se installato, avvia Qpid sul vecchio nodo in standby:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Promuovi il nuovo nodo standby come master Postgres:
- Promuovi il nuovo nodo standby in modo che diventi il nuovo master:
> apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Se richiesto, inserisci la password Postgres per l 'utente apigee', che per impostazione predefinita è "postgres".
- Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Configura il nuovo master:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Promuovi il nuovo nodo standby in modo che diventi il nuovo master:
- Ricrea il nodo standby precedente:
- Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Rimuovi la directory dei dati sul vecchio nodo in standby:
> cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Riconfigura il nodo standby precedente in modo che sia un nodo standby del nuovo master:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Assicurati che Postgres sia in esecuzione sul nodo standby precedente:
> /opt/apigee/apigee-service/bin/apigee-all status
Se non è in esecuzione, avvialo:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
- Verifica che il nuovo nodo standby sia stato aggiunto visualizzando il file
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
sul nuovo master. - Visualizza le informazioni di analisi e sui gruppi di consumatori attuali eseguendo il comando seguente sul server di gestione:
> curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Questo comando restituisce il nome del gruppo di analisi nel campo
name
e il nome del gruppo di consumatori nel camponame
inconsumer-groups
. Inoltre, restituisce gli UUID dei vecchi nodi master e standby Postgres nei campipostgres-server
edatastores
. Dovresti vedere l'output nel formato:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } }
- Recupera l'indirizzo UUID del vecchio master eseguendo il seguente comando cURL sul nodo master precedente:
> curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
Dovresti vedere l'UUID del nodo alla fine dell'output, nel seguente formato:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Ripeti il passaggio precedente per ottenere gli indirizzi IP del nodo in standby precedente e del nuovo master.
- Rimuovi i nodi master e standby precedenti dal gruppo consumer:
> curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
dove axgroup-001 e consumer-group-001 sono i nomi predefiniti dei gruppi di dati e analisi e consumatori. masterUUID,standbyUUID sono nello stesso ordine in cui sono comparsi sopra quando hai visualizzato le analisi attuali e le informazioni sui gruppi di consumatori sopra riportate. Potresti dover specificare i valori standbyUUID,masterUUID.
La proprietà
datastores
perconsumer-groups
ora dovrebbe essere vuota. - Rimuovi i nodi master e standby precedenti dal gruppo di analisi:
> curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
La proprietà
postgres-server
inuuids
ora dovrebbe essere vuota. - Registra i nuovi nodi master e standby di PG con i gruppi di analisi e consumer:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
- Convalida il gruppo di analisi:
> curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Gli UUID dei nuovi nodi master e standby dovrebbero essere elencati nel gruppo di analisi e nel gruppo consumer.
- Riavvia Edge Management Server:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Riavvia tutti i server Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Riavvia tutti i server Postgres:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Verifica lo stato della replica inviando i seguenti script su entrambi i server. Il sistema dovrebbe mostrare risultati identici su entrambi i server per garantire il successo della replica:
Nel nuovo schema, esegui:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Verifica che sia indicato come principale. Sul vecchio nodo in standby:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Verifica che si tratti di standby.
- Ripeti il passaggio precedente dopo aver effettuato diverse richieste API per assicurarti che i nodi siano sincronizzati.
- Ritira il master Postgres precedente utilizzando la procedura descritta in
Aggiornare Apigee Edge
4.16.01/4.16.05 alla versione 4.17.09.
In alternativa, puoi disinstallare Qpid dal master precedente e installare Qpid sul nuovo nodo master, come descritto di seguito. Dopo aver disinstallato Qpid, puoi ritirare il vecchio nodo master.
Annulla Qpid dal vecchio master e installa Qpid su quello nuovo
Utilizza la procedura seguente per disinstallare Qpid dal master precedente e installarlo sul nuovo master:
- Impedisci ai processori di messaggi di accedere alla porta Qpid 5672 sul vecchio master eseguendo questo comando su tutti i processori di messaggi:
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- Assicurati che la coda di messaggi Qpid sia vuota eseguendo questo comando. Non puoi disinstallare Qpid finché non ha elaborato tutti i messaggi in attesa:
> qpid-stat -q
Questo comando visualizza una tabella contenente un conteggio per
msg, msgIn, and msgOut
. Tutti i messaggi saranno stati elaborati quandomsg=0
emsgIn=msgOut
. - Determina l'UUID del server Qpid sul vecchio master eseguendo il comando seguente sul
master precedente. Salva queste informazioni per un utilizzo successivo della procedura:
> curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Interrompi Qpid sul precedente master:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Disinstalla il server Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
- Rimuovi il vecchio server Qpid dai gruppi di analisi e consumatori:
> curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v > curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
- Rimuovi il vecchio server Qpid da Zookeeper:
> curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/qpid_UUID
- Installa Qpid sul nuovo master:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- Determina l'UUID del server Qpid sul nuovo master eseguendo il comando seguente sul
nuovo master. Salva queste informazioni per un utilizzo successivo della procedura:
> curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Registra il nuovo server Qpid con i gruppi di analisi e consumatori:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
- Riavvia tutti i processori di messaggi:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Esegui questo comando sul nuovo server Qpid per verificare che le code siano state create:
> qpid-stat -q
Assicurati che
msg, msgIn e msgOut vengano aggiornati mentre il server Qpid elabora i messaggi.
Per eseguire il rollback di singoli componenti da 18.4.01
Durante l'esecuzione del rollback, devi scaricare il file bootstrap.sh per la tua versione attuale di Edge:
- Per eseguire il rollback alla versione 4.17.09, scarica
bootstrap_4.17.09.sh
- Per eseguire il rollback alla versione 4.17.05, scarica
bootstrap_4.17.05.sh
- Per eseguire il rollback alla versione 4.17.01, scarica
bootstrap_4.17.01.sh
- Per eseguire il rollback alla versione 4.16.09, scarica
bootstrap_4.16.09.sh
- Per eseguire il rollback alla versione 4.16.05, scarica
bootstrap_4.16.05.sh
- Per eseguire il rollback alla versione 4.16.01, scarica
bootstrap.sh
Per ogni nodo che ospita un componente di cui eseguire il rollback:
- Interrompi il componente per eseguire il rollback:
- Se esegui il rollback di uno dei seguenti componenti sul nodo, devi arrestarli tutti: server di gestione, router, processore di messaggi, Qpid Server o server Postgres:
> apigee-service edge-management-server stop
> apigee-service edge-router stop
> apigee-service edge-message-processor stop
> apigee-service edge-qpid-server stop
> apigee-service edge-postgres-server stop
- Se stai eseguendo il rollback di qualsiasi altro componente sul nodo, arresta solo quel componente:
> apigee-service comp stop
- Se esegui il rollback di uno dei seguenti componenti sul nodo, devi arrestarli tutti: server di gestione, router, processore di messaggi, Qpid Server o server Postgres:
- Se stai eseguendo il rollback della monetizzazione, disinstallala da tutti i nodi del server di gestione e del processore di messaggi:
> apigee-service edge-mint-gateway uninstall
- Disinstalla il componente per eseguire il rollback sul nodo:
- Se esegui il rollback di uno dei seguenti componenti sul nodo, disinstallali tutti: server di gestione, router, processore di messaggi, Qpid Server o Server Postgres:
> apigee-service edge-gateway uninstall
- Se stai eseguendo il rollback di qualsiasi altro componente sul nodo, disinstalla solo quel componente:
> apigee-service comp uninstall
- Se esegui il rollback del router, devi eliminare i
contenuti di
/opt/nginx/conf.d
:> cd /opt/nginx/conf.d > rm -rf *
- Se esegui il rollback di uno dei seguenti componenti sul nodo, disinstallali tutti: server di gestione, router, processore di messaggi, Qpid Server o Server Postgres:
-
Per eseguire il rollback del componente:
- Disinstalla la versione 4.18.01 di
apigee-setup
:> /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Scarica bootstrap.sh per la release desiderata: ad esempio, per 4.16.09:
> curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh
- Installa l'utilità e le dipendenze
apigee-service
4.16.01, 4.16.05 o 4.16.09. Ad esempio, per 4.16.09:> sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord
dove uName e pWord sono il nome utente e la password che hai ricevuto da Apigee. Se ometti pWord, ti verrà chiesto di inserirlo.
- Installa
apigee-setup
:> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Installa la versione desiderata del componente:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
dove comp è il componente da installare e configFile è il file di configurazione per la versione desiderata.
- Se stai eseguendo il rollback di Qpid, svuota iptables:
> sudo iptables -F
- Disinstalla la versione 4.18.01 di
- Per eseguire il rollback del componente a una versione specifica della release 4.18.01:
- Scarica la versione specifica del componente:
> /opt/apigee/apigee-service/bin/apigee-service comp-version install
dove comp-version è il componente e la versione da installare. Ad esempio:
> /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install
Se utilizzi il repository online Apigee, puoi determinare le versioni dei componenti disponibili utilizzando il seguente comando:
> yum --showduplicates list comp
Ad esempio:
> yum --showduplicates list edge-ui
- Utilizza
apigee-setup
per installare il componente:> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Ad esempio:
> /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Nota come specifichi solo il nome del componente quando esegui l'installazione.
- Scarica la versione specifica del componente:
Contatta l'assistenza Apigee Edge se riscontri problemi durante il rollback.