Questa procedura riguarda l'upgrade da Apigee hybrid dalla versione 1.9.x alla versione ibrida di Apigee 1.10.5 e dalle release precedenti dell'ibrido 1.10.x alla versione 1.10.5.
Utilizza le stesse procedure per gli upgrade della versione secondaria (ad esempio la versione 1.9) alla versione 1.10) e per gli upgrade delle release delle patch (ad esempio da 1.10.0 a 1.10.5).
Panoramica dell'aggiornamento alla versione 1.10.5
.Le procedure per l'upgrade di Apigee hybrid sono organizzate nelle seguenti sezioni:
Prerequisiti
Queste istruzioni per l'upgrade presuppongono che la versione ibrida di Apigee sia 1.9.x installato e desidera aggiornarlo alla versione 1.10.5. Se esegui l'aggiornamento da di una versione precedente, consulta le istruzioni per Upgrade di Apigee hybrid alla versione 1.9.
Prepara l'upgrade alla versione 1.10
Esegui il backup dell'installazione ibrida (opzione consigliata)
- Queste istruzioni utilizzano la variabile di ambiente APIGEECTL_HOME per la directory
nel file system in cui hai installato
apigeectl
. Se necessario, cambia directory nella directoryapigeectl
e definisci la variabile con il seguente comando:. Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Crea una copia di backup della directory della versione 1.9
$APIGEECTL_HOME/
. Ad esempio:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- Esegui il backup del tuo database Cassandra seguendo le istruzioni in Backup e ripristino di Cassandra.
Esegui l'upgrade della versione di Kubernetes
Controlla la versione della tua piattaforma Kubernetes e, se necessario, esegui l'upgrade della piattaforma Kubernetes a un supportata sia da hybrid 1.9 che da hybrid 1,10. Se hai bisogno di assistenza, segui la documentazione della piattaforma.
Installa il runtime ibrido 1.10.5
- Assicurati di trovarti nella directory di base ibrida (l'elemento padre della directory in cui
dove si trova il file eseguibile
apigeectl
):cd $APIGEECTL_HOME/..
-
Scarica il pacchetto di release per il tuo sistema operativo utilizzando il seguente comando. Assicurati di selezionare la tua piattaforma nella tabella seguente:
Linux
Linux a 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
Mac OS
Mac a 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows
Windows a 64 bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
- Rinomina la directory
apigeectl/
attuale con il nome della directory di backup. Ad esempio:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Mac OS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9
-
Estrai il contenuto del file gzip scaricato nella directory di base ibrida. La directory di base ibrida è la directory in cui è stato rinominato La directory
apigeectl-v1.9
si trova:Linux
tar xvzf filename.tar.gz -C ./
Mac OS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
Per impostazione predefinita, i contenuti tar vengono espansi in una directory con la versione e la piattaforma in il nome. Ad esempio:
./apigeectl_1.10.5-xxxxxxx_linux_64
. Rinomina la directory aapigeectl
utilizzando il seguente comando:Linux
mv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl
Mac OS
mv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl
-
Passa alla directory
apigeectl
:cd ./apigeectl
Questa è la home directory
apigeectl
. È dove dove si trova il comando eseguibileapigeectl
. - Queste istruzioni utilizzano la variabile di ambiente
$APIGEECTL_HOME
per la directory nel file system in cui è installata l'utilitàapigeectl
. Se necessario, cambia directory nella directoryapigeectl
e definisci la variabile con il seguente comando:. Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Verifica la versione di
apigeectl
con il comandoversion
:./apigeectl version
Version: 1.10.5
- Crea una directory
hybrid-base-directory/hybrid-files
, quindi sposta al suo interno. La directoryhybrid-files
è il punto in cui vengono inseriti i file di configurazione file di override, certificati e account di servizio. Ad esempio:Linux
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Mac OS
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Windows
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- Verifica che
kubectl
sia impostato sul contesto corretto utilizzando il seguente comando. Il contesto attuale deve essere impostato sul cluster in cui stai eseguendo l'upgrade di Apigee hybrid.kubectl config get-contexts | grep \*
- Nella directory
hybrid-files
:-
Aggiorna i seguenti link simbolici a
$APIGEECTL_HOME
. Questi link ti consentono di eseguire il comandoapigeectl
appena installato dall'interno Directoryhybrid-files
:ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins -
Per verificare che i collegamenti simbolici siano stati creati correttamente, esegui questo comando ed esegui
assicurati che i percorsi dei link indirizzino alle posizioni corrette:
ls -l | grep ^l
-
Aggiorna i seguenti link simbolici a
- Apporta la seguente modifica al file overrides.yaml per attivare il grafico
apigee-operator
per utilizzare il tag corretto,1.10.5-hotfix.1
:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Esegui un'inizializzazione dry run per verificare la presenza di errori:
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
Dove OVERRIDES_FILE è il nome del file di override, ad esempio
./overrides/overrides.yaml
. - Se non ci sono errori, inizializzare ibrido 1.10.5:
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
- Controlla lo stato di inizializzazione:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Se l'esito è positivo, l'output dice:
All containers ready.
kubectl describe apigeeds -n apigee
Nell'output, cerca
State: running
. - Verifica la presenza di errori con una prova del comando
apply
utilizzando--dry-run
Segnala:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
- Se non sono presenti errori, applica gli override. Seleziona e segui le istruzioni per gli ambienti di produzione oppure
ambienti non di produzione, a seconda dell'installazione.
Produzione
Per gli ambienti di produzione, eseguire l'upgrade di ogni componente ibrido individualmente, e controlla lo stato del componente di cui è stato eseguito l'upgrade prima di passare al componente successivo.
- Assicurati di essere nella directory
hybrid-files
. - Applica gli override per eseguire l'upgrade di Cassandra:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
- Verifica di completamento:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Procedi al passaggio successivo solo quando i pod sono pronti.
- Applica gli override per eseguire l'upgrade dei componenti di telemetria e verificare il completamento:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Visualizza i componenti Redis:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
- Applica gli override per eseguire l'upgrade dei componenti a livello di organizzazione (MART, Watcher e Apigee)
connettiti) e verifica il completamento:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Applica gli override per eseguire l'upgrade degli ambienti. Hai a disposizione due opzioni:
- Ambiente per ambiente: applica gli override a un ambiente alla volta e controlla il completamento. Ripeti
questo passaggio per ogni ambiente:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
dove ENV_NAME è il nome dell'ambiente di cui esegui l'upgrade.
- Tutti gli ambienti contemporaneamente: applica gli override a tutti gli ambienti contemporaneamente e verifica il completamento:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Ambiente per ambiente: applica gli override a un ambiente alla volta e controlla il completamento. Ripeti
questo passaggio per ogni ambiente:
- Applica gli override per eseguire l'upgrade dei componenti
virtualhosts
e verificare il completamento:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Non di produzione
Nella maggior parte degli ambienti non di produzione, demo o sperimentali, puoi applicare gli override a tutti i componenti contemporaneamente. Se il tuo ambiente non di produzione è grande e complesso che imitano da vicino un ambiente di produzione, ti consigliamo di utilizzare le istruzioni per l'upgrade degli ambienti di produzione.
- Assicurati di essere nella directory
hybrid-files
. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
- Controlla lo stato:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Assicurati di essere nella directory
Rollback di un upgrade in corso...
Per eseguire il rollback di un upgrade precedente:
- Esegui la pulizia dei job completati per lo spazio dei nomi del runtime ibrido, dove NAMESPACE è
specificato nel file degli override, se hai specificato uno spazio dei nomi. In caso contrario, lo spazio dei nomi predefinito
è
apigee
:kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Esegui la pulizia dei job completati per lo spazio dei nomi
apigee-system
:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Modifica la variabile
APIGEECTL_HOME
in modo che punti alla directory che contiene la precedente diapigeectl
. Ad esempio:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- Nella directory root dell'installazione di cui vuoi eseguire il rollback,
apigeectl apply
, controlla lo stato dei pod ed eseguiapigeectl init
. Assicurati di utilizzare il file di override originale per la versione vuoi eseguire il rollback a:- Nella directory hybrid-files, esegui
apigeectl apply
:$APIGEECTL_HOME
/apigeectl apply -f ORIGINAL_OVERRIDES_FILEDove ORIGINAL_OVERRIDES_FILE è il percorso relativo e il nome file degli override per l'installazione ibrida precedente, ad esempio:
./overrides/overrides1.9.yaml
. - Controlla lo stato dei tuoi pod:
kubectl -n NAMESPACE get pods
Dove NAMESPACE è il tuo spazio dei nomi ibrido Apigee.
- Controlla lo stato di
apigeeds
:kubectl describe apigeeds -n apigee
L'output dovrebbe essere simile al seguente:
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
Procedi al passaggio successivo solo quando il pod
apigeeds
è in esecuzione. - Esegui questo comando per prendere nota dei nuovi valori del conteggio delle repliche
al processore di messaggi dopo l'upgrade. Se questi valori non corrispondono a quanto impostato
in precedenza, modifica i valori nel file delle sostituzioni affinché corrispondano ai valori
configurazione.
apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2
L'output dovrebbe essere simile al seguente:
autoScaler: minReplicas: 2 maxReplicas: 10
- Corsa di
apigeectl init
:$APIGEECTL_HOME
/apigeectl init -f ORIGINAL_OVERRIDES_FILE
- Nella directory hybrid-files, esegui