Disinstalla Cloud Service Mesh
In questa pagina viene spiegato come disinstallare Cloud Service Mesh se utilizzi le API Istio. Se utilizzi le API Compute Engine, non è necessario alcun passaggio. Consulta la panoramica di Cloud Service Mesh per comprendere le differenze.
Disinstalla Cloud Service Mesh
Utilizza i comandi seguenti per disinstallare tutti i componenti di Cloud Service Mesh. Questi
eliminano anche lo spazio dei nomi istio-system
e tutte le risorse
definizioni (CRD), inclusi eventuali CRD applicati.
Per evitare l'interruzione del traffico delle applicazioni:
- Esegui il downgrade di tutti i criteri mTLS RISTRICT a PERMISSIVE.
- Rimuovi eventuali AuthorizationPolicy che potrebbero bloccare il traffico.
Disabilita la gestione automatica su questo cluster (se l'hai applicata) direttamente o utilizzando la configurazione predefinita del parco risorse):
gcloud container fleet mesh update \ --management manual \ --memberships MEMBERSHIP_NAME \ --project FLEET_PROJECT_ID \ --location MEMBERSHIP_LOCATION
Sostituisci quanto segue:
- MEMBERSHIP_NAME è il nome dell'appartenenza elencato quando hai verificato che il cluster è stato registrato nel parco risorse.
- MEMBERSHIP_LOCATION è la località del tuo abbonamento (ovvero
una regione, o
global
).
Disattiva l'inserimento automatico dei sidecar nei tuoi spazi dei nomi, se è abilitato. Esegui il seguente comando per visualizzare le etichette dello spazio dei nomi:
kubectl get namespace YOUR_NAMESPACE --show-labels
L'output è simile al seguente:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Se vedi
istio.io/rev=
nell'output sotto la colonnaLABELS
, per rimuoverlo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-
Se nell'output nella colonna
istio-injection
vediistio-injection
,rimuovilo:kubectl label namespace YOUR_NAMESPACE istio-injection-
Se non vedi le etichette
istio.io/rev
oistio-injection
: l'inserimento automatico non era abilitato nello spazio dei nomi.Riavvia i carichi di lavoro in cui sono stati iniettati i sidecar per rimuovere i proxy.
Se utilizzi Cloud Service Mesh gestito, verifica quale implementazione del piano di controllo nel cluster, questo ti aiuterà a eliminare le risorse pertinenti in passaggi.
Se utilizzi Cloud Service Mesh gestito, rimuovi tutti i
controlplanerevision
nel cluster:kubectl delete controlplanerevision asm-managed asm-managed-rapid asm-managed-stable -n istio-system --ignore-not-found=true
Elimina i webhook dal cluster, se presenti.
Cloud Service Mesh nel cluster
Elimina
validatingwebhooksconfiguration
emutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Cloud Service Mesh gestito
A. Elimina
validatingwebhooksconfiguration
.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Elimina tutti i
mutatingwebhookconfiguration
.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Una volta avviati tutti i carichi di lavoro e non vengono rilevati proxy, puoi eliminare in sicurezza il piano di controllo all'interno del cluster per interrompere la fatturazione.
Per rimuovere il piano di controllo nel cluster, esegui questo comando:
istioctl uninstall --purge
Se non sono presenti altri piani di controllo, puoi eliminare lo spazio dei nomi
istio-system
per eliminare tutte le risorse di Cloud Service Mesh. In caso contrario, elimina i servizi corrispondenti alle revisioni di Cloud Service Mesh. In questo modo si evita l'eliminazione. e risorse condivise, come i CRD.Elimina gli spazi dei nomi
istio-system
easm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
Controlla se le eliminazioni sono andate a buon fine:
kubectl get ns
L'output dovrebbe indicare uno stato
Terminating
e restituire come mostrato, altrimenti potresti dover eliminare manualmente le risorse rimanenti e riprova.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
Se intendi eliminare i cluster o li hai già eliminati, assicurati che ciascun cluster sia annullato la registrazione nel tuo parco risorse.
Se hai abilitato la configurazione predefinita del parco risorse Cloud Service Mesh gestito e per i cluster futuri, disabilitala. Puoi saltare questo passaggio se esegui la disinstallazione solo da un singolo cluster.
gcloud container hub mesh disable --fleet-default-member-config --project FLEET_PROJECT_ID
Dove FLEET_PROJECT_ID è l'ID del progetto host del parco risorse.
Se hai abilitato Cloud Service Mesh gestito, controlla ed elimina le risorse gestite se presenti:
Elimina il deployment
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Se hai implementato il piano di controllo
TRAFFIC_DIRECTOR
, ripulisci le risorse di controllo di integrità trasparente. In genere vengono rimossi automaticamente, ma puoi assicurarti che vengano ripuliti seguendo questa procedura:Elimina il set di daemon
snk
.kubectl delete daemonset snk -n kube-system
Elimina la regola firewall.
gcloud compute firewall-rules delete gke-csm-thc-FIRST_8_CHARS_OF_CLUSTER_ID
Sostituisci quanto segue:
- FIRST_8_CHARS_OF_CLUSTER_ID sono i primi 8 caratteri della ID cluster per il cluster specifico.
Verifica se è presente la configmap
istio-cni-plugin-config
:kubectl get configmap istio-cni-plugin-config -n kube-system
Se presente, elimina il configmap
istio-cni-plugin-config
:kubectl delete configmap istio-cni-plugin-config -n kube-system
Elimina il set di daemon
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system
Se stai disinstallando Cloud Service Mesh gestito e mantieni il tuo cluster, contatta l'assistenza per assicurarti che tutte le risorse Google Cloud vengano eliminate. Anche lo spazio dei nomi e le mappe di configurazione
istio-system
potrebbero continuare a essere ricreati se non segui questo passaggio.
Al termine di questi passaggi, tutti i componenti di Cloud Service Mesh, inclusi i proxy, le autorità di certificazione all'interno del cluster e i ruoli e le associazioni RBAC, vengono rimossi sistematicamente dal cluster. Durante la procedura di installazione, a un account di servizio di proprietà di Google vengono concesse le autorizzazioni necessarie per stabilire le risorse del servizio mesh all'interno del cluster. Queste istruzioni di disinstallazione non revocano queste autorizzazioni, consentendo una facile riattivazione di Cloud Service Mesh in futuro.