Panoramica dell'aggiornamento alla versione 1.7.6.
Le procedure per l'upgrade di Apigee hybrid sono organizzate nelle seguenti sezioni:
- Prepara l'upgrade alla versione 1.7.
- Installa la versione 1.7.6 del runtime di hybrid.
- Esegui l'upgrade di Gestore certificati.
- Esegui l'upgrade di ASM.
Prerequisito
Queste istruzioni per l'upgrade presuppongono che la versione ibrida di Apigee sia 1.6.x o una patch release precedente della versione 1.7.x installata e si desidera aggiornarlo alla versione 1.7.6. Se esegui l'aggiornamento da una versione precedente consulta le istruzioni per Eseguire l'upgrade Apigee hybrid alla versione 1.6.
Prepararsi all'upgrade alla versione 1.7
Esegui il backup dell'installazione ibrida
- Queste istruzioni utilizzano la variabile di ambiente
$APIGEECTL_HOME
per la directory nel file system in cui è installata l'utilitàapigeectl
. Se necessario,cd
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%
- (Consigliato) Crea una copia di backup della directory
$APIGEECTL_HOME/
della versione 1.6. Ad esempio:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.6-backup.tar.gz $APIGEECTL_HOME
- (Consigliato) Esegui il backup del database Cassandra seguendo le istruzioni riportate in Backup e recupero di Cassandra
Esegui l'upgrade della versione di Kubernetes
Esegui l'upgrade della piattaforma Kubernetes alle versioni supportate da hybrid 1.7. Se hai bisogno di aiuto, consulta la documentazione della tua piattaforma.
Aggiungi il ruolo Agente Cloud Trace all'account di servizio apigee-runtime
(Facoltativo) Se prevedi di utilizzare Cloud Trace, assicurati che
L'account di servizio apigee-runtime
ha l'agente Cloud Trace
(roles/cloudtrace.agent
)
ruolo Google. Puoi farlo nel
Console Cloud > IAM
& Amministratore > UI account di servizio o con i seguenti comandi:
- Ottieni l'indirizzo email del tuo account di servizio
apigee-runtime
con il seguente comando:gcloud iam service-accounts list --filter "apigee-runtime"
Se corrisponde al pattern
apigee-runtime@$ORG_NAME.iam.gserviceaccount.com
, puoi usare questo pattern nel passaggio successivo. - Assegna il ruolo Agente Cloud Trace all'account di servizio:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
Dove: $PROJECT_ID è il nome del progetto Google Cloud in cui è installato Apigee hybrid.
Sostituisci metrics:stackdriverExporter
proprietà negli override.
A partire dalla versione 1.7 di Hybrid, metrics:stackdriverExporter
è stato sostituito con
metrics:appStackdriverExporter
e metrics:proxyStackdriverExporter
.
Sostituisci queste proprietà con proprietà equivalenti. Ad esempio, sostituisci:
metrics: ... ... stackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi
with:
metrics: ... ... appStackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi proxyStackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi
Consulta la documentazione relativa alle proprietà di configurazione: metriche
Installa il runtime di hybrid 1.7.6
-
Memorizza il numero della versione più recente in una variabile utilizzando il seguente comando:
Linux
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
Mac OS
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)
Windows
for /f "tokens=*" %a in ('curl -s ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^ do set VERSION=%a
-
Verifica che la variabile sia stata compilata con un numero di versione utilizzando il seguente comando. Se
vuoi utilizzare una versione diversa, puoi salvarla in una variabile di ambiente.
echo $VERSION
1.7.6
- 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 della release per il tuo sistema operativo utilizzando il seguente comando. Assicurati di selezionare la tua piattaforma nella seguente tabella:
Linux
Linux a 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac OS
Mac a 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Windows
Windows a 64 bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/%VERSION%/apigeectl_windows_64.zip
- Rinomina la directory
apigeectl/
attuale con il nome di una directory di backup. Ad esempio:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.6/
Mac OS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.6/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.6
-
Estrai il contenuto del file gzip scaricato nella directory di base ibrida. La directory di base ibrida è la directory in cui si trova la directory
apigeectl-v1.6
rinominata: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 del file tar vengono espansi in una directory con la versione e la piattaforma nel nome. Ad esempio:
./apigeectl_1.7.6-d591b23_linux_64
. Rinomina la directory aapigeectl
utilizzando il seguente comando:Linux
mv directory-name-linux apigeectl
Mac OS
mv directory-name-mac apigeectl
Windows
rename directory-name-windows apigeectl
-
Passa alla directory
apigeectl
:cd ./apigeectl
L'eseguibile
apigeectl
si trova in questa directory. - Queste istruzioni utilizzano la variabile di ambiente
$APIGEECTL_HOME
per la directory nel file system in cui è installata l'utilitàapigeectl
. Se necessario,cd
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.7.6
- Passa alla directory
hybrid-base-directory/hybrid-files
. La directoryhybrid-files
contiene i file di configurazione, ad esempio il file delle sostituzioni, i certificati e gli account di servizio. Ad esempio:cd $APIGEECTL_HOME/../hybrid-files
- Verifica che
kubectl
sia impostato sul contesto corretto utilizzando il seguente comando. Il contesto corrente 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 e rendi
assicurati che i percorsi dei link indirizzino alle posizioni corrette:
ls -l | grep ^l
- Esegui un'inizializzazione dry run per verificare la presenza di errori:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/OVERRIDES.yaml --dry-run=client
Dove OVERRIDES è il nome del file degli override.
- Se non ci sono errori, inizializzare ibrido 1.7.6:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/OVERRIDES.yaml
- Controlla lo stato di inizializzazione:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Verifica la presenza di errori con una prova secca del comando
apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --dry-run=client
- Se non sono presenti errori, applica le sostituzioni. Seleziona e segui le istruzioni per gli ambienti di produzione o per gli ambienti demo/sperimentali, a seconda dell'installazione.
Produzione
Per gli ambienti di produzione, devi eseguire l'upgrade di ogni componente ibrida singolarmente e controllare lo stato del componente di cui è stato eseguito l'upgrade prima di procedere con il componente successivo.
- Assicurati di essere nella directory
hybrid-files
. - Applica le sostituzioni per eseguire l'upgrade di Cassandra:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --datastore
- Verifica di completamento:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
Vai al passaggio successivo solo quando i pod sono pronti.
- Applica le sostituzioni per eseguire l'upgrade dei componenti di Telemetria e controlla il completamento:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --telemetry
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Visualizza i componenti Redis:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --redis
- Applica le sostituzioni per eseguire l'upgrade dei componenti a livello di organizzazione (MART, Watcher e Apigee
Connect) e controlla il completamento:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --org
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Applica le sostituzioni per eseguire l'upgrade degli ambienti. Hai a disposizione due opzioni:
- Per ambiente: applica le sostituzioni a un ambiente alla volta e controlla il completamento. Ripeti
questo passaggio per ogni ambiente:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --env ENV_NAME
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
dove ENV_NAME è il nome dell'ambiente di cui stai eseguendo l'upgrade.
- Tutti gli ambienti contemporaneamente: applica le sostituzioni a tutti gli ambienti contemporaneamente e controlla il completamento:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --all-envs
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Per ambiente: applica le sostituzioni a un ambiente alla volta e controlla il completamento. Ripeti
questo passaggio per ogni ambiente:
Demo/sperimentale
Nella maggior parte degli ambienti demo o sperimentali, è possibile applicare override a tutti i componenti contemporaneamente. Se il tuo ambiente dimostrativo/sperimentale è ampio e complesso o imita da vicino una di produzione, ti consigliamo di utilizzare le istruzioni per eseguire l'upgrade ambienti di produzione
- Assicurati di essere nella directory
hybrid-files
. ${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml
- Controlla lo stato:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Assicurati di essere nella directory
-
Aggiorna i seguenti link simbolici a
Upgrade di cert-manager alla versione v1.7.2
Se utilizzi una versione di cert-manager
precedente alla v1.7.2, devi eseguirne l'upgrade alla v1.7.2.
-
Controlla la versione attuale di
cert-manager
utilizzando il comando seguente:kubectl -n cert-manager get deployment -o yaml | grep 'image:'
Viene restituito qualcosa di simile al seguente:
image: quay.io/jetstack/cert-manager-controller:v1.7.2 image: quay.io/jetstack/cert-manager-cainjector:v1.7.2 image: quay.io/jetstack/cert-manager-webhook:v1.7.2
-
Rimuovi i deployment utilizzando il seguente comando:
$ kubectl delete -n cert-manager deployment cert-manager cert-manager-cainjector cert-manager-webhook
-
Esegui l'upgrade di
cert-manager
alla versione v1.7.2 utilizzando il seguente comando:$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.2/cert-manager.yaml
Esegui l'upgrade di ASM alla versione 1.12
Esegui l'upgrade utilizzando la documentazione ASM appropriata per la tua piattaforma:
Le istruzioni per installare e configurare ASM variano in base alla piattaforma. Le piattaforme sono suddivise nelle seguenti categorie:
- GKE: cluster di Google Kubernetes Engine in esecuzione su Google Cloud.
- Al di fuori di Google Cloud: cluster Anthos in esecuzione su:
- Cluster Anthos su VMware (GKE on-prem)
- Anthos on bare metal
- Cluster Anthos su AWS
- Amazon EKS
- Altre piattaforme Kubernetes: cluster conformi creati e in esecuzione su:
- AKS
- EKS
- OpenShift
GKE
La sequenza per eseguire l'upgrade alla versione 1.12.9 di ASM per l'installazione ibrida è la seguente:
- Preparati per l'upgrade.
- Installa la nuova versione di ASM.
- Elimina i deployment, i servizi e i webhook della versione precedente di ASM dal tuo l'installazione corrente.
- Esegui l'upgrade dei gateway e configura i nuovi webhook.
Per eseguire l'upgrade alla versione ASM 1.12.9 per l'infrastruttura ibrida su GKE:
- Esamina i requisiti in Eseguire l'upgrade di Anthos Service Mesh, ma non eseguire ancora l'upgrade.
- Prima di installare la nuova versione, determina la revisione corrente. Ti serviranno queste informazioni per eliminare i deployment, i servizi e gli webhook della versione ASM precedente dalla tua installazione attuale. Utilizza il seguente comando per archiviare la revisione corrente di istiod in una variabile di ambiente:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Crea un nuovo file
overlay.yaml
o verifica che quello esistenteoverlay.yaml
contenga i seguenti contenuti:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Segui le istruzioni nelle seguenti sezioni della documentazione di ASM:
- Scarica asmcli
- Concedi autorizzazioni di amministratore del cluster
- Convalida progetto e cluster
- Upgrade con funzionalità facoltative. Interrompi prima di iniziare la sezione "Eseguire l'upgrade dei gateway"
- Elimina l'webhook con modifica e l'webhook di convalida:
cd
nella directory in cui hai installatoasmcli
.- Memorizza la nuova revisione corrente in una variabile di ambiente da utilizzare nello script per eliminare i webhook:
UPGRADE_REV="asm-1129-3"
- e creerai uno script shell contenente i seguenti comandi:
#!/bin/bash set -ex PROJECT_ID="YOUR_PROJECT_ID" CLUSTER_NAME="YOUR_CLUSTER_NAME" CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION" kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Esegui lo script per eliminare gli webhook attuali.
- Segui i passaggi descritti in Eseguire l'upgrade dei gateway per creare i nuovi webhook e trasferire il traffico ai nuovi gateway.
Al di fuori di Google Cloud
Queste istruzioni riguardano l'upgrade di ASM su:
- Cluster Anthos su VMware (GKE On-Prem)
- Anthos on bare metal
- Cluster Anthos su AWS
- Amazon EKS
La sequenza per eseguire l'upgrade alla versione di ASM 1.12.9 per il tuo modello ibrido l'installazione è la seguente:
- Preparati per l'upgrade.
- Installa la nuova versione di ASM.
- Elimina i deployment, i servizi e i webhook della versione precedente di ASM dal tuo l'installazione corrente.
- Esegui l'upgrade dei gateway e configura i nuovi webhook.
- Esamina i requisiti in Eseguire l'upgrade di Anthos Service Mesh, ma non eseguire ancora l'upgrade.
- Prima di installare la nuova versione, determina la revisione corrente. Ti serviranno queste informazioni per eliminare il webhook di convalida e il webhook di mutazione dalla tua attuale installazione di ASM. Utilizza il seguente comando per archiviare l'oggetto
revisione istiod in una variabile di ambiente:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Crea un nuovo file
overlay.yaml
o verifica che quello esistenteoverlay.yaml
contenga i seguenti contenuti:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 values: gateways: istio-ingressgateway: runAsRoot: true meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Segui le istruzioni riportate nelle seguenti sezioni della documentazione di ASM:
- Scarica asmcli
- Concedi autorizzazioni di amministratore del cluster
- Convalida progetto e cluster
- Upgrade con funzionalità facoltative. Interrompi prima di iniziare la sezione "Eseguire l'upgrade dei gateway"
- Elimina l'webhook con modifica e l'webhook di convalida:
cd
nella directory in cui hai installatoasmcli
.- Memorizza la nuova revisione corrente in una variabile di ambiente da utilizzare nello script per eliminare i webhook:
UPGRADE_REV="asm-1129-3"
- e creerai uno script shell contenente i seguenti comandi:
#!/bin/bash set -ex PROJECT_ID="YOUR_PROJECT_ID" CLUSTER_NAME="YOUR_CLUSTER_NAME" CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION" gcloud config configurations activate ${PROJECT_ID} gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID} kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Esegui lo script per eliminare i webhook attuali.
- Segui i passaggi descritti in Eseguire l'upgrade gateway per creare i nuovi webhook e indirizzare il traffico ai nuovi gateway.
AKS/EKS
In queste istruzioni viene spiegato come eseguire l'upgrade della versione di Anthos Service Mesh (ASM) istio-1.12.9-asm.3 su cluster collegati ad Anthos è la stessa cosa che eseguire una nuova installazione.
Preparazione dell'installazione di Anthos Service Mesh
- Elimina il webhook mutante e il webhook di convalida:
cd
nella directory in cui hai installatoasmcli
.- Memorizza la nuova revisione corrente in una variabile di ambiente da utilizzare nello script per eliminare i webhook:
UPGRADE_REV="asm-1129-3"
- Crea uno script shell contenente i seguenti comandi:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Esegui lo script per eliminare gli webhook attuali.
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione del file system. Ad esempio:
per estrarre il contenuto della directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano
Directory
manifests/profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro attuale:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio:
per estrarre il contenuto della directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano
Directory
manifests/profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione del file system. Ad esempio:
per estrarre il contenuto della directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano nella directory
manifests\profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory \bin al tuo PATH:
set PATH=%CD%\bin:%PATH%
- Ora che ASM Istio è installato, controlla la versione di
istioctl
:istioctl version
- Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Installazione di Anthos Service Mesh
- Modifica il tuo file
overlay.yaml
o creane uno nuovo con il seguente contenuto:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
L'output dovrebbe avere il seguente aspetto:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
L'argomento
--set revision
aggiunge a istiod un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
. L'etichetta di revisione viene utilizzata dal webhook dell'iniettore di sidecar automatico per associare i sidecar iniettati a una determinata revisione di Istio. Per attivare l'iniezione automatica di sidecar per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta su istiod. - Verifica che l'installazione sia stata completata:
kubectl get svc -n istio-system
L'output dovrebbe avere il seguente aspetto:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
In queste istruzioni viene spiegato come eseguire l'upgrade della versione di Anthos Service Mesh (ASM) istio-1.12.9-asm.3 su cluster collegati ad Anthos è la stessa cosa che eseguire una nuova installazione.
Preparazione all'installazione di Anthos Service Mesh
- Elimina il webhook mutante e il webhook di convalida:
cd
nella directory in cui hai installatoasmcli
.- Memorizza la nuova revisione corrente in una variabile di ambiente da utilizzare nello script per eliminare i webhook:
UPGRADE_REV="asm-1129-3"
- Crea uno script shell contenente i seguenti comandi:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Esegui lo script per eliminare gli webhook attuali.
- Concedi la limitazione del contesto di sicurezza
anyuid
(SCC) a istio-system con il seguente comando OpenShift CLI (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano
Directory
manifests/profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Concedi il vincolo di contesto di sicurezza (SCC)
anyuid
al sistema istio con il seguente comando OpenShift CLI (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione del file system. Ad esempio:
per estrarre il contenuto della directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano
Directory
manifests/profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Concedi il vincolo di contesto di sicurezza (SCC)
anyuid
al sistema istio con il seguente comando OpenShift CLI (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza openssl per verificarla:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione del file system. Ad esempio:
per estrarre il contenuto della directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.12.9-asm.3
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Il mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano nella directory
manifests\profiles
.
- Applicazioni di esempio nella directory
- Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory \bin al tuo PATH:
set PATH=%CD%\bin:%PATH%
- Ora che ASM Istio è installato, controlla la versione di
istioctl
:istioctl version
- Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Installazione di Anthos Service Mesh
- Modifica il tuo file
overlay.yaml
o creane uno nuovo con il seguente contenuto:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
L'output dovrebbe essere simile al seguente:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
L'argomento
--set revision
aggiunge a istiod un'etichetta di revisione nel formatoistio.io/rev=1.6.11-asm.1
. L'etichetta di revisione viene utilizzata dal webhook dell'iniettore di sidecar automatico per associare i sidecar iniettati a una determinata revisione di Istio. Per attivare l'iniezione automatica di sidecar per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta su istiod. - Verifica che l'installazione sia stata completata:
kubectl get svc -n istio-system
L'output dovrebbe essere simile al seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Rollback di un upgrade in corso...
Per eseguire il rollback di un upgrade precedente:
- Ripulisci i job completati per lo spazio dei nomi dell'ambiente di runtime ibrido, dove NAMESPACE è lo spazio dei nomi specificato nel file delle sostituzioni, se ne hai specificato uno. 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 versione precedente diapigeectl
. Ad esempio:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- Nella directory principale dell'installazione a cui vuoi eseguire il rollback, esegui
${APIGEECTL_HOME}/apigeectl apply
, controlla lo stato dei pod e poi esegui${APIGEECTL_HOME}/apigeectl init
. Assicurati di utilizzare il file delle sostituzioni originale per la versione di destinazione del rollback:- Nella directory
hybrid-files
, esegui${APIGEECTL_HOME}/apigeectl apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/ORIGINAL_OVERRIDES.yaml
dove ORIGINAL_OVERRIDES è il file delle sostituzioni per l'installazione ibrida della versione precedente, ad esempio
overrides1.6.yaml
. - Controlla lo stato dei tuoi pod:
kubectl -n NAMESPACE get pods
dove NAMESPACE è il tuo spazio dei nomi Apigee hybrid.
- 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
Vai al passaggio successivo solo quando il pod
apigeeds
è in esecuzione. - Corsa di
apigeectl init
:${APIGEECTL_HOME}/apigeectl init -f ./overrides/ORIGINAL_OVERRIDES.yaml
- Nella directory