Questa procedura riguarda l'upgrade da Apigee hybrid versione 1.14.x ad Apigee hybrid versione 1.15.0.
Modifiche rispetto ad Apigee hybrid v1.14
Tieni presente la seguente modifica:
-
Supporto di payload di messaggi di grandi dimensioni:a partire dalla versione 1.15 e anche dalla patch 1.14.2, Apigee ora supporta payload di messaggi fino a 30 MB. Per informazioni, vedi:
- Configura il supporto del payload di messaggi di grandi dimensioni in Apigee hybrid
runtime.resources.limits.memory
nel riferimento per le proprietà di configurazione.runtime.resources.requests.memory
nel riferimento per le proprietà di configurazione.
- Controlli più rigorosi dell'istanza della classe: Apigee Hybrid,
il criterio JavaCallout ora include una sicurezza aggiuntiva durante l'istanza della classe Java. La misura di sicurezza avanzata impedisce l'implementazione di criteri che tentano direttamente o indirettamente azioni che richiedono autorizzazioni non consentite.
Nella maggior parte dei casi, le norme esistenti continueranno a funzionare come previsto senza problemi. Tuttavia, è possibile che le norme che si basano su librerie di terze parti o quelle con codice personalizzato che attiva indirettamente operazioni che richiedono autorizzazioni elevate possano essere interessate.
Per ulteriori informazioni sulle funzionalità della versione 1.14 di Hybrid, consulta le note di rilascio di Apigee hybrid v1.14.0.
Prerequisiti
Prima di eseguire l'upgrade alla versione ibrida 1.15, assicurati che la tua installazione soddisfi i seguenti requisiti:
- Se la tua installazione ibrida esegue una versione precedente alla v1.14, devi eseguire l'upgrade alla versione 1.14 prima di eseguire l'upgrade alla v1.15. Consulta la sezione Eseguire l'upgrade di Apigee hybrid alla versione 1.14.
- Helm versione v3.14.2+.
kubectl
: una versione supportata dikubectl
adatta alla versione della tua piattaforma Kubernetes. Consulta Piattaforme e versioni supportate:kubectl
.- cert-manager: una versione supportata di cert-manager. Consulta Piattaforme e versioni supportate: cert-manager. Se necessario, esegui l'upgrade di cert-manager nella sezione Preparati all'upgrade alla versione 1.15 di seguito.
Prima di eseguire l'upgrade alla versione 1.15.0: limitazioni e note importanti
Apigee hybrid 1.15.0 introduce un nuovo limite avanzato per ambiente per i proxy che consente di eseguire il deployment di più proxy e flussi condivisi in un unico ambiente. Consulta la sezione Limiti: proxy API per comprendere i limiti al numero di proxy e flussi condivisi che puoi eseguire il deployment per ambiente. Questa funzionalità è disponibile solo per le organizzazioni ibride appena create e non può essere applicata alle organizzazioni di cui è stato eseguito l'upgrade. Per utilizzare questa funzionalità, esegui una nuova installazione di ibrido 1.15.0 e crea una nuova organizzazione.
Questa funzionalità è disponibile esclusivamente nell'ambito del piano di abbonamento 2024 ed è soggetta ai diritti concessi nell'ambito di questo abbonamento. Consulta Limiti proxy avanzati per ambiente per scoprire di più su questa funzionalità.
L'upgrade ad Apigee hybrid versione 1.15 potrebbe richiedere tempi di inattività.
Quando esegui l'upgrade del controller Apigee alla versione 1.15.0, tutti i deployment Apigee vengono riavviati in sequenza. Per ridurre al minimo i tempi di inattività negli ambienti ibridi di produzione durante un riavvio in sequenza, assicurati di eseguire almeno due cluster (nello stesso o in un data center/regione diverso). Devia tutto il traffico di produzione a un singolo cluster e metti offline il cluster che stai per aggiornare, quindi procedi con il processo di upgrade. Ripeti la procedura per ogni cluster.
Apigee consiglia di eseguire l'upgrade di tutti i cluster il prima possibile per ridurre le probabilità di impatto sulla produzione. Non è previsto un limite di tempo per l'upgrade di tutti i cluster rimanenti dopo l'upgrade del primo. Tuttavia, finché non viene eseguito l'upgrade di tutti i cluster rimanenti, il backup e il ripristino di Cassandra non possono funzionare con versioni miste. Ad esempio, un backup di Hybrid 1.14 non può essere utilizzato per ripristinare un'istanza Hybrid 1.15.
Le modifiche al piano di gestione non devono essere sospese completamente durante un upgrade. Eventuali sospensioni temporanee richieste alle modifiche del piano di gestione sono indicate nelle istruzioni di upgrade riportate di seguito.
Panoramica dell'upgrade alla versione 1.15.0
Le procedure per l'upgrade di Apigee hybrid sono organizzate nelle seguenti sezioni:
Prepararsi all'upgrade alla versione 1.15
Eseguire il backup dell'installazione ibrida
- Queste istruzioni utilizzano la variabile di ambiente APIGEE_HELM_CHARTS_HOME per la directory
nel file system in cui hai installato i grafici Helm. Se necessario, passa a questa directory e definisci la variabile con il seguente comando:
Linux
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
Mac OS
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
Windows
set APIGEE_HELM_CHARTS_HOME=%CD%
echo %APIGEE_HELM_CHARTS_HOME%
- Crea una copia di backup della directory
$APIGEE_HELM_CHARTS_HOME/
della versione 1.14. Puoi utilizzare qualsiasi procedura di backup. Ad esempio, puoi creare un filetar
dell'intera directory con:tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.14-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
- Esegui il backup del database Cassandra seguendo le istruzioni riportate in Backup e ripristino di Cassandra.
- Se utilizzi file di certificati di servizio (
.json
) negli override per autenticare i service account, assicurati che i file di certificati del account di servizio si trovino nella directory del grafico Helm corretta. I grafici Helm non possono leggere file al di fuori di ogni directory del grafico.Questo passaggio non è necessario se utilizzi i secret Kubernetes o la federazione delle identità del workload per GKE per autenticare i service account.
La tabella seguente mostra la destinazione di ciascun file dell'account di servizio, a seconda del tipo di installazione:
Prod
Service account Nome file predefinito Directory del grafico Helm apigee-cassandra
PROJECT_ID-apigee-cassandra.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
apigee-logger
PROJECT_ID-apigee-logger.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-mart
PROJECT_ID-apigee-mart.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-metrics
PROJECT_ID-apigee-metrics.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-runtime
PROJECT_ID-apigee-runtime.json
$APIGEE_HELM_CHARTS_HOME/apigee-env
apigee-synchronizer
PROJECT_ID-apigee-synchronizer.json
$APIGEE_HELM_CHARTS_HOME/apigee-env/
apigee-udca
PROJECT_ID-apigee-udca.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-watcher
PROJECT_ID-apigee-watcher.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
Non di produzione
Crea una copia del file del account di servizio
apigee-non-prod
in ciascuna delle seguenti directory:Service account Nome file predefinito Directory dei grafici Helm apigee-non-prod
PROJECT_ID-apigee-non-prod.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
$APIGEE_HELM_CHARTS_HOME/apigee-org/
$APIGEE_HELM_CHARTS_HOME/apigee-env/
-
Assicurati che i file del certificato e della chiave TLS (
.crt
,.key
e/o.pem
) si trovino nella directory$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/
.
Esegui l'upgrade della versione di Kubernetes
Controlla la versione della piattaforma Kubernetes e, se necessario, esegui l'upgrade a una versione supportata sia da hybrid 1.14 sia da hybrid 1.15. Se hai bisogno di aiuto, consulta la documentazione della tua piattaforma.
Rimuovere i CRD di Istio
La presenza di definizioni di risorse personalizzate (CRD) istio.io
in un cluster ibrido Apigee potrebbe causare errori nei pod apigee-ingressgateway-manager
.
Per saperne di più sui CRD istio.io
in Apigee hybrid, consulta il problema noto 416634326.
-
Determina se nel cluster sono presenti
istio.io
CRD con il seguente comando:kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io
Se il cluster ha
istio.io
CRD, l'output sarà simile al seguente:kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io
authorizationpolicies.security.istio.io destinationrules.networking.istio.io envoyfilters.networking.istio.io gateways.networking.istio.io peerauthentications.security.istio.io proxyconfigs.networking.istio.io requestauthentications.security.istio.io serviceentries.networking.istio.io sidecars.networking.istio.io telemetries.telemetry.istio.io virtualservices.networking.istio.io wasmplugins.extensions.istio.io workloadentries.networking.istio.io workloadgroups.networking.istio.io - (Facoltativo) Salva i CRD localmente nel caso in cui tu debba ricrearli:
kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
-
Elimina le CRD
istio.io
:Prova:
kubectl delete crd $(cat istio-crd.csv) --dry-run=client
Esegui:
kubectl delete crd $(cat istio-crd.csv)
-
Elenca i pod
ingress-manager
da reinstallare o ricreare:kubectl get deployments -n apigee
Output di esempio:
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 32d apigee-ingressgateway-manager 2/2 2 2 32d
-
Riavvia i pod
ingress-manager
:kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
Installa il runtime di hybrid 1.15.0
Configura la pipeline di raccolta dei dati.
A partire dalla versione ibrida 1.14, la nuova pipeline di dati di analisi e debug è abilitata per impostazione predefinita per tutte le organizzazioni Apigee ibride. Per configurare il flusso di autorizzazione, devi seguire i passaggi descritti in Attivare l'accesso di Publisher ad Analytics.
Preparati all'upgrade dei grafici Helm
- Estrai i grafici Helm di Apigee.
I grafici di Apigee hybrid sono ospitati in Google Artifact Registry:
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
Utilizzando il comando
pull
, copia tutti i grafici Helm di Apigee hybrid nello spazio di archiviazione locale con il seguente comando:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.15.0
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- Esegui l'upgrade di cert-manager, se necessario.
Se devi eseguire l'upgrade della versione di cert-manager, installa la nuova versione con questo comando:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml
Per un elenco delle versioni supportate, consulta la sezione Piattaforme e versioni supportate: cert-manager.
- Se lo spazio dei nomi Apigee non è
apigee
, modifica il fileapigee-operator/etc/crds/default/kustomization.yaml
e sostituisci il valorenamespace
con il tuo spazio dei nomi Apigee.apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: APIGEE_NAMESPACE
Se utilizzi
apigee
come spazio dei nomi, non devi modificare il file. - Installa le CRD Apigee aggiornate:
-
Utilizza la funzionalità di prova generale
kubectl
eseguendo il seguente comando:kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
-
Dopo la convalida con il comando di prova dry run, esegui questo comando:
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false
- Convalida l'installazione con il comando
kubectl get crds
:kubectl get crds | grep apigee
L'output dovrebbe essere simile al seguente:
apigeedatastores.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeedeployments.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeissues.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2024-08-21T14:48:32Z apigeeredis.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeeroutes.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2024-08-21T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2024-08-21T14:48:35Z
-
-
Controlla le etichette sui nodi del cluster. Per impostazione predefinita, Apigee pianifica i pod di dati sui nodi con l'etichetta
cloud.google.com/gke-nodepool=apigee-data
e i pod di runtime vengono pianificati sui nodi con l'etichettacloud.google.com/gke-nodepool=apigee-runtime
. Puoi personalizzare le etichette del pool di nodi nel fileoverrides.yaml
.Per ulteriori informazioni, vedi Configurazione dei pool di nodi dedicati.
Installa i grafici Helm di Apigee hybrid
- In caso contrario, vai alla directory
APIGEE_HELM_CHARTS_HOME
. Esegui i seguenti comandi da questa directory. - Esegui l'upgrade dell'operatore/controller Apigee:
Prova:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica l'installazione dell'operatore Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2024-08-21 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.0 1.15.0
Verifica che sia attivo e funzionante controllando la sua disponibilità:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
- Esegui l'upgrade del datastore Apigee:
Prova:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica che
apigeedatastore
sia attivo e funzionante controllandone lo stato:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 2d
- Esegui l'upgrade della telemetria Apigee:
Prova:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica che sia attivo e funzionante controllandone lo stato:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
- Esegui l'upgrade di Apigee Redis:
Prova:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica che sia attivo e funzionante controllandone lo stato:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 2d
- Esegui l'upgrade di Apigee Ingress Manager:
Prova:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica che sia attivo e funzionante controllandone la disponibilità:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
- Esegui l'upgrade dell'organizzazione Apigee:
Prova:
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server
Esegui l'upgrade del grafico:
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE
Verifica che sia attivo e funzionante controllando lo stato dell'organizzazione corrispondente:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
- Esegui l'upgrade dell'ambiente.
Devi installare un ambiente alla volta. Specifica l'ambiente con
--set env=
ENV_NAME.Prova:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME è un nome utilizzato per tenere traccia dell'installazione e degli upgrade del grafico
apigee-env
. Questo nome deve essere univoco rispetto agli altri nomi delle release Helm nell'installazione. In genere, è uguale aENV_NAME
. Tuttavia, se il tuo ambiente ha lo stesso nome del tuo gruppo di ambienti, devi utilizzare nomi di release diversi per l'ambiente e il gruppo di ambienti, ad esempiodev-env-release
edev-envgroup-release
. Per ulteriori informazioni sulle release in Helm, consulta Three big concepts class="external" nella documentazione di Helm. - ENV_NAME è il nome dell'ambiente di cui stai eseguendo l'upgrade.
- OVERRIDES_FILE è il nuovo file di override per la versione 1.15.0
Esegui l'upgrade del grafico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
Verifica che sia attivo e funzionante controllando lo stato dell'ambiente corrispondente:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
- ENV_RELEASE_NAME è un nome utilizzato per tenere traccia dell'installazione e degli upgrade del grafico
-
Esegui l'upgrade dei gruppi di ambienti (
virtualhosts
).- Devi eseguire l'upgrade di un gruppo di ambienti (virtualhost) alla volta. Specifica il gruppo
di ambienti con
--set envgroup=
ENV_GROUP_NAME. Ripeti i seguenti comandi per ogni gruppo di ambienti menzionato nel file overrides.yaml:Prova:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run=server
ENV_GROUP_RELEASE_NAME è il nome con cui hai installato in precedenza il grafico
apigee-virtualhost
. Di solito è ENV_GROUP_NAME.Esegui l'upgrade del grafico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
- Controlla lo stato di ApigeeRoute (AR).
L'installazione di
virtualhosts
crea ApigeeRouteConfig (ARC) che crea internamente ApigeeRoute (AR) una volta che il watcher Apigee estrae i dettagli relativi al gruppo di ambienti dal control plane. Pertanto, verifica che lo stato del AR corrispondente sia in esecuzione:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- Devi eseguire l'upgrade di un gruppo di ambienti (virtualhost) alla volta. Specifica il gruppo
di ambienti con
- Dopo aver verificato che tutti gli upgrade delle installazioni siano andati a buon fine, elimina la versione
apigee-operator
precedente dallo spazio dei nomiapigee-system
.- Disinstalla la vecchia versione di
operator
:helm delete operator -n apigee-system
- Elimina lo spazio dei nomi
apigee-system
:kubectl delete namespace apigee-system
- Disinstalla la vecchia versione di
- Esegui di nuovo l'upgrade di
operator
nello spazio dei nomi Apigee per reinstallare le risorse con ambito cluster eliminate:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
Convalida i criteri dopo l'upgrade dalla versione 1.14.0 o precedente
Utilizza questa procedura per convalidare il comportamento del criterio JavaCallout dopo l'upgrade dalla versione 1.14.0.
- Verifica se i file JAR Java richiedono autorizzazioni non necessarie.
Dopo il deployment della policy, controlla i log di runtime per verificare la presenza del seguente messaggio di log:
"Failed to load and initialize class ..."
. Se visualizzi questo messaggio, significa che il file JAR di cui è stato eseguito il deployment ha richiesto autorizzazioni non necessarie. Per risolvere il problema, analizza il codice Java e aggiorna il file JAR. - Esamina e aggiorna il codice Java.
Esamina il codice Java (incluse le dipendenze) per identificare la causa di operazioni potenzialmente non consentite. Se lo trovi, modifica il codice sorgente come richiesto.
- Testa i criteri con il controllo di sicurezza attivato.
In un ambiente non di produzione, attiva il flag di controllo di sicurezza e esegui nuovamente il deployment dei criteri con un file JAR aggiornato. Per impostare il flag:
- Nel file
apigee-env/values.yaml
, impostaconf_security-secure.constructor.only
sutrue
inruntime:cwcAppend:
. Ad esempio:# Apigee Runtime runtime: cwcAppend: conf_security-secure.constructor.only: true
- Aggiorna il grafico
apigee-env
per l'ambiente per applicare la modifica. Ad esempio:helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
ENV_RELEASE_NAME è un nome utilizzato per tenere traccia dell'installazione e degli upgrade del grafico
apigee-env
. Questo nome deve essere univoco rispetto agli altri nomi delle release Helm nell'installazione. In genere, è uguale aENV_NAME
. Tuttavia, se il tuo ambiente ha lo stesso nome del tuo gruppo di ambienti, devi utilizzare nomi di release diversi per l'ambiente e il gruppo di ambienti, ad esempiodev-env-release
edev-envgroup-release
. Per ulteriori informazioni sulle release in Helm, consulta Three big concepts class="external" nella documentazione di Helm.
Se il messaggio di log
"Failed to load and initialize class ..."
è ancora presente, continua a modificare e testare il file JAR finché il messaggio di log non viene più visualizzato. - Nel file
- Attiva il controllo di sicurezza nell'ambiente di produzione.
Dopo aver testato e verificato a fondo il file JAR nell'ambiente non di produzione, attiva il controllo di sicurezza nell'ambiente di produzione impostando il flag
conf_security-secure.constructor.only
sutrue
e aggiornando il graficoapigee-env
per l'ambiente di produzione in modo da applicare la modifica.
Eseguire il rollback a una versione precedente
Per eseguire il rollback alla versione precedente, utilizza la versione precedente del grafico per eseguire il rollback della procedura di upgrade in ordine inverso. Inizia con apigee-virtualhost
e torna indietro fino a apigee-operator
, poi ripristina i CRD.
- Ripristina tutti i grafici dal
apigee-virtualhost
alapigee-datastore
. I seguenti comandi presuppongono che tu stia utilizzando i grafici della versione precedente (v1.14.x).Esegui questo comando per ogni gruppo di ambienti:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f 1.14_OVERRIDES_FILE
Esegui questo comando per ogni ambiente:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f 1.14_OVERRIDES_FILE
Ripristina i grafici rimanenti, ad eccezione di
apigee-operator
.helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE
- Crea lo spazio dei nomi
apigee-system
.kubectl create namespace apigee-system
- Applica una patch all'annotazione della risorsa nello spazio dei nomi
apigee-system
.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
- Se hai modificato anche il nome della release, aggiorna l'annotazione con il nome della release
operator
.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
- Installa
apigee-operator
di nuovo nello spazio dei nomiapigee-system
.helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE
- Ripristina i CRD reinstallando quelli precedenti.
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false
- Pulisci la release
apigee-operator
dallo spazio dei nomi APIGEE_NAMESPACE per completare la procedura di rollback.helm uninstall operator -n APIGEE_NAMESPACE
- Alcune risorse con ambito cluster, come
clusterIssuer
, vengono eliminate quandooperator
viene disinstallato. Reinstallali con il seguente comando:helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE