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 sono necessari passaggi. Per comprendere le differenze, consulta la panoramica di Cloud Service Mesh.
Disinstalla Cloud Service Mesh
Utilizza i comandi seguenti per disinstallare tutti i componenti Cloud Service Mesh. Questi comandi eliminano anche lo spazio dei nomi istio-system
e tutte le definizioni di risorse personalizzate (CRD), inclusi eventuali CRD che hai applicato.
Per evitare l'interruzione del traffico dell'applicazione:
- Esegui il downgrade di tutti i criteri mTLS STRICT a PERMISSIVE.
- Rimuovi tutti i criteri AuthorizationPolicy che potrebbero bloccare il traffico.
Disabilita la gestione automatica su questo cluster (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à in cui hai sottoscritto l'abbonamento (una regione o
global
).
Disabilita l'inserimento automatico collaterale nei tuoi spazi dei nomi, se è abilitata. Esegui questo 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
, rimuovilo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-
Se vedi
istio-injection
nell'output sotto la colonnaLABELS
, rimuovilo:kubectl label namespace YOUR_NAMESPACE istio-injection-
Se non vedi le etichette
istio.io/rev
oistio-injection
, l'inserimento automatico non è stato abilitato nello spazio dei nomi.Riavvia i carichi di lavoro in cui sono stati inseriti i file collaterali per rimuovere i proxy.
Se utilizzi Cloud Service Mesh gestito, verifica l'implementazione del piano di controllo presente nel cluster: in questo modo, potrai eliminare le risorse pertinenti nei passaggi successivi.
Se utilizzi Cloud Service Mesh gestito, rimuovi tutte le
controlplanerevision
risorse 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 esistenti.
Mesh di servizi cloud nel cluster
Elimina
validatingwebhooksconfiguration
emutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Mesh di servizi cloud gestito
A. Elimina il
validatingwebhooksconfiguration
.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Elimina tutto:
mutatingwebhookconfiguration
.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Quando tutti i carichi di lavoro sono disponibili e non sono stati osservati proxy, puoi eliminare in sicurezza il piano di controllo nel cluster per interrompere la fatturazione.
Per rimuovere il piano di controllo nel cluster, esegui questo comando:
istioctl x uninstall --purge
Se non ci sono altri piani di controllo, puoi eliminare lo spazio dei nomi
istio-system
per eliminare tutte le risorse Cloud Service Mesh. In caso contrario, elimina i servizi corrispondenti alle revisioni di Cloud Service Mesh. Ciò evita di eliminare 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 riuscite:
kubectl get ns
L'output dovrebbe indicare uno stato
Terminating
e tornare come mostrato, altrimenti potresti dover eliminare manualmente eventuali risorse rimanenti negli spazi dei nomi e riprovare.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
Se eliminerai i cluster o li hai già eliminati, assicurati che ogni cluster sia non registrato dal tuo parco risorse.
Se hai abilitato la configurazione predefinita del parco risorse Cloud Service Mesh gestito e vuoi disabilitarla per i cluster futuri, disabilitala. Puoi saltare questo passaggio se stai eseguendo 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 utilizzi Cloud Service Mesh gestito, elimina il deployment
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Se utilizzi Cloud Service Mesh gestito e hai l'implementazione del piano di controllo
TRAFFIC_DIRECTOR
, esegui la pulizia delle risorse del controllo di integrità trasparente. Normalmente questi elementi vengono rimossi automaticamente, ma puoi assicurarti che vengano puliti procedendo nel seguente modo:A. Elimina il daemonset
snk
.kubectl delete daemonset snk -n kube-system
B. 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 è i primi 8 caratteri dell'ID cluster per il tuo cluster specifico.
Controlla se è presente la mappa di configurazione
istio-cni-plugin-config
:kubectl get configmap istio-cni-plugin-config -n kube-system
Se presente, elimina la configmap
istio-cni-plugin-config
:kubectl delete configmap istio-cni-plugin-config -n kube-system
Elimina il daemonset
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system
Se stai disinstallando la rete Cloud Service Mesh gestito e vuoi conservare il cluster, contatta l'assistenza per assicurarti che tutte le risorse Google Cloud vengano ripulite. Se non segui questo passaggio, è possibile anche che lo spazio dei nomi
istio-system
e le mappe di configurazione continuino a essere ricreati.
Al termine di questi passaggi, tutti i componenti Cloud Service Mesh, inclusi proxy, autorità di certificazione nel cluster, ruoli e associazioni RBAC, vengono sistematicamente rimossi 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 per la disinstallazione non revocano queste autorizzazioni, consentendo una riattivazione senza interruzioni di Cloud Service Mesh in futuro.