Disinstalla Cloud Service Mesh
Questa pagina spiega come disinstallare Cloud Service Mesh se utilizzi le API Istio. Se utilizzi le API Compute Engine, non sono necessari passaggi. Consulta la panoramica di Cloud Service Mesh per comprendere le differenze.
Disinstalla Cloud Service Mesh
Utilizza i seguenti comandi per disinstallare tutti i componenti di Cloud Service Mesh. Questi comandi eliminano anche lo spazio dei nomi istio-system e tutte le definizioni di risorse personalizzate (CRD), incluse quelle che hai applicato.
Per evitare interruzioni del traffico delle applicazioni:
- Esegui il downgrade di tutte le policy mTLS STRICT a PERMISSIVE.
- Rimuovi tutte le AuthorizationPolicy che potrebbero bloccare il traffico.
Disattiva 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_LOCATIONSostituisci quanto segue:
- MEMBERSHIP_NAME è il nome dell'appartenenza elencato quando hai verificato che il cluster fosse registrato nel parco risorse.
- MEMBERSHIP_LOCATION è la località dell'appartenenza (una
regione o
global).
Disattiva l'inserimento automatico di sidecar negli spazi dei nomi, se è abilitato. Esegui il comando seguente per visualizzare le etichette dello spazio dei nomi:
kubectl get namespace YOUR_NAMESPACE --show-labelsL'output è simile al seguente:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Se vedi
istio.io/rev=nell'output nella colonnaLABELS, rimuovilo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Se vedi
istio-injectionnell'output nella colonnaLABELS, rimuovilo:kubectl label namespace YOUR_NAMESPACE istio-injection-Se non vedi le etichette
istio.io/revoistio-injection, l'inserimento automatico non è stato abilitato nello spazio dei nomi.Riavvia i carichi di lavoro in cui sono stati inseriti i sidecar per rimuovere i proxy.
Se utilizzi Cloud Service Mesh gestito, controlla l'implementazione del control plane nel cluster. Questo ti aiuterà a eliminare le risorse pertinenti nei passaggi successivi.
Se utilizzi Cloud Service Mesh gestito, rimuovi tutte le risorse
controlplanerevisionnel cluster:kubectl delete controlplanerevision asm-managed asm-managed-rapid asm-managed-stable -n istio-system --ignore-not-found=trueElimina i webhook dal cluster, se esistono.
Cloud Service Mesh in-cluster
Elimina
validatingwebhooksconfigurationemutatingwebhookconfiguration.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=PilotCloud Service Mesh gestito
A. Elimina
validatingwebhooksconfiguration.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcpB. Elimina tutte le
mutatingwebhookconfiguration.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNELUna volta che tutti i carichi di lavoro sono attivi e non vengono osservati proxy, puoi eliminare in sicurezza il control plane in-cluster per interrompere la fatturazione.
Per rimuovere il control plane in-cluster, esegui questo comando:
istioctl uninstall --purgeSe non sono presenti altri control plane, puoi eliminare lo spazio dei nomi
istio-systemper 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 di eliminare le risorse condivise, come le CRD.Elimina gli spazi dei nomi
istio-systemeasm-system:kubectl delete namespace istio-system asm-system --ignore-not-found=trueVerifica se le eliminazioni sono andate a buon fine:
kubectl get nsL'output deve indicare uno stato
Terminatinge restituire i valori mostrati, in caso contrario potrebbe essere necessario eliminare manualmente le risorse rimanenti negli spazi dei nomi e riprovare.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71mSe eliminerai i cluster o li hai già eliminati, assicurati che ogni cluster non sia registrato nel parco risorse.
Se hai abilitato la configurazione predefinita del parco risorse di Cloud Service Mesh gestito e vuoi disattivarla per i cluster futuri, disattivala. Puoi saltare questo passaggio se stai eseguendo la disinstallazione da un solo cluster.
gcloud container hub mesh disable --fleet-default-member-config --project FLEET_PROJECT_IDDove 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-systemSe hai l'implementazione del control plane
TRAFFIC_DIRECTOR, pulisci le risorse del controllo di integrità trasparente. In genere vengono rimosse automaticamente, ma puoi assicurarti che vengano pulite procedendo nel seguente modo:Elimina il daemonset
snk.kubectl delete daemonset snk -n kube-systemElimina la regola firewall.
gcloud compute firewall-rules delete gke-csm-thc-FIRST_8_CHARS_OF_CLUSTER_IDSostituisci quanto segue:
- FIRST_8_CHARS_OF_CLUSTER_ID sono i primi 8 caratteri dell' ID cluster per il tuo cluster specifico.
Controlla se è presente la configmap
istio-cni-plugin-config:kubectl get configmap istio-cni-plugin-config -n kube-systemSe presente, elimina la configmap
istio-cni-plugin-config:kubectl delete configmap istio-cni-plugin-config -n kube-systemElimina il daemonset
istio-cni-node:kubectl delete daemonset istio-cni-node -n kube-system
Se stai disinstallando Cloud Service Mesh gestito e vuoi mantenere il tuo cluster, contatta l'assistenza per assicurarti che tutte le Google Cloud risorse vengano pulite. Se non segui questo passaggio, lo spazio dei nomi
istio-systeme le configmap potrebbero continuare a essere ricreati.
Al termine di questi passaggi, tutti i componenti di Cloud Service Mesh, inclusi proxy, autorità di certificazione in-cluster e ruoli e binding RBAC, vengono rimossi sistematicamente dal cluster. Durante il processo di installazione, a un account di servizio di proprietà di Google vengono concesse le autorizzazioni necessarie per stabilire le risorse del mesh di servizi all'interno del cluster. Queste istruzioni di disinstallazione non revocano queste autorizzazioni, consentendo una riattivazione senza problemi di Cloud Service Mesh in futuro.