Disinstalla Cloud Service Mesh
Questa pagina spiega come disinstallare Cloud Service Mesh.
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 l'interruzione del traffico dell'applicazione:
- Esegui il downgrade di tutte le policy mTLS STRICT a PERMISSIVE.
- Rimuovi eventuali AuthorizationPolicy che potrebbero bloccare il traffico.
Disattiva la gestione automatica su questo cluster (indipendentemente dal fatto che l'abbia applicata direttamente o utilizzando la configurazione predefinita del parco risorse):
gcloud container fleet mesh update --management manualDisattiva 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 nell'output visualizzi
istio.io/rev=nella colonnaLABELS, rimuovilo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Se nell'output visualizzi
istio-injectionnella 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 workload a cui sono stati inseriti i sidecar per rimuovere i proxy.
Se utilizzi Cloud Service Mesh gestito, rimuovi tutte le risorse
controlplanerevisionnel cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-systemdove RELEASE_CHANNEL è il canale di rilascio che hai eseguito il provisioning, ad esempio
asm-managed,asm-managed-rapidoasm-managed-stable.Elimina i webhook dal cluster, se esistenti.
Cloud Service Mesh nel 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
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 piano di controllo in-cluster per interrompere la fatturazione. Se hai eseguito il deployment di un control plane gestito, questo viene eliminato automaticamente con il passaggio precedente.
Per rimuovere il control plane in-cluster, esegui il comando riportato di seguito:
istioctl x uninstall --purgeSe non sono presenti altri control plane, puoi eliminare lo spazio dei nomi
istio-systemper eliminare tutte le risorse Cloud Service Mesh. In caso contrario, elimina i servizi corrispondenti alle revisioni di Cloud Service Mesh. In questo modo si evita di eliminare risorse condivise, come le CRD.Elimina gli spazi dei nomi
istio-systemeasm-system:kubectl delete namespace istio-system asm-system --ignore-not-found=trueControlla se le eliminazioni sono state eseguite correttamente:
kubectl get nsL'output deve indicare uno stato
Terminatinge restituire il risultato mostrato, altrimenti potresti dover eliminare manualmente le 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 annullato la registrazione dal tuo parco risorse.
Se hai attivato la configurazione predefinita del parco risorse di Cloud Service Mesh gestito e vuoi disattivarla per i cluster futuri, disattivala. Puoi saltare questo passaggio se disinstalli solo da un singolo 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 utilizzi Cloud Service Mesh gestito, elimina il deployment
mdp-controller:kubectl delete deployment mdp-controller -n kube-systemVerifica se è presente il configmap
istio-cni-plugin-config:kubectl get configmap istio-cni-plugin-config -n kube-systemSe presente, elimina il 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
Al termine di questi passaggi, tutti i componenti di Cloud Service Mesh, inclusi i proxy, le autorità di certificazione in-cluster e i ruoli e i 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.