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 necessaria. 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.

  1. Per evitare interruzioni del traffico delle applicazioni:

    • Esegui il downgrade di qualsiasi criterio mTLS STRICT a PERMISSIVE.
    • Rimuovi qualsiasi AuthorizationPolicy che potrebbe bloccare il traffico.
  2. 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'abbonamento elencato quando verificato che il cluster sia stato registrato nel parco risorse.
    • MEMBERSHIP_LOCATION è la località del tuo abbonamento (ovvero una regione, o global).
  3. Disabilita l'inserimento automatico dei file collaterali negli spazi dei nomi, se è abilitata. Corsa il comando seguente 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 colonna LABELS, per rimuoverlo:

     kubectl label namespace YOUR_NAMESPACE istio.io/rev-
    

    Se vedi istio-injection nell'output sotto la colonna LABELS, per rimuoverlo:

     kubectl label namespace YOUR_NAMESPACE istio-injection-
    

    Se non vedi le etichette istio.io/rev o istio-injection: l'inserimento automatico non era abilitato nello spazio dei nomi.

  4. Riavvia i carichi di lavoro con sidecar inseriti per rimuovere i proxy.

  5. Se utilizzi Cloud Service Mesh gestito, verifica quale implementazione del piano di controllo presenti nel cluster, questo ti aiuterà a eliminare le risorse pertinenti in passaggi.

  6. 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
    
  7. Elimina i webhook dal cluster, se presenti.

    Cloud Service Mesh nel cluster

    Elimina validatingwebhooksconfiguration e mutatingwebhookconfiguration.

    kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
    

    Mesh di servizi cloud gestito

    A. Elimina validatingwebhooksconfiguration.

    kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
    

    B. Elimina tutti i mutatingwebhookconfiguration.

    kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
    
  8. Quando vengono visualizzati tutti i carichi di lavoro e non sono stati osservati proxy, puoi Elimina 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 esistono altri piani di controllo, puoi eliminare istio-system per eliminare tutte le risorse Cloud Service Mesh. In caso contrario, elimina e servizi corrispondenti alle revisioni di Cloud Service Mesh. In questo modo si evita l'eliminazione. e risorse condivise, come i CRD.

  9. Elimina gli spazi dei nomi istio-system e asm-system:

     kubectl delete namespace istio-system asm-system --ignore-not-found=true
    
  10. Controlla se le eliminazioni sono riuscite:

     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
    
  11. Se eliminerai i cluster o li hai già eliminati, assicurati che ogni cluster non registrati dal tuo parco risorse.

  12. Se hai abilitato la configurazione predefinita del parco risorse Cloud Service Mesh gestito e per i cluster futuri, disabilitala. Puoi saltare questo passaggio se stai disinstallando l'app da un solo 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.

  13. Se hai abilitato Cloud Service Mesh gestito, controlla ed elimina le risorse gestite se presenti:

    1. Elimina il deployment mdp-controller:

        kubectl delete deployment mdp-controller -n kube-system
      
    2. Se hai l'implementazione del piano di controllo TRAFFIC_DIRECTOR, esegui la pulizia delle risorse del controllo di integrità trasparente. Normalmente questi file vengono rimossi automaticamente, ma puoi assicurarti che vengano puliti procedendo nel seguente modo:

      1. Elimina il daemonset snk.

           kubectl delete daemonset snk -n kube-system
        
      2. 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.
    3. Verifica se è presente la configmap 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
      
    4. Elimina il daemonset istio-cni-node:

        kubectl delete daemonset istio-cni-node -n kube-system
      
  14. Se disinstalli Cloud Service Mesh gestito e mantieni il contatta l'assistenza per assicurarti che tutti La pulizia delle risorse Google Cloud viene eseguita. Lo spazio dei nomi istio-system e la configurazione le mappe potrebbero anche continuare a essere ricreate se non segui questo passaggio.

Una volta completati questi passaggi, tutti i componenti di Cloud Service Mesh, inclusi i proxy, le autorità di certificazione nel cluster, così come i ruoli e le associazioni RBAC, sistematicamente rimossi dal cluster. Durante il processo di installazione, All'account di servizio di proprietà di Google vengono concesse le autorizzazioni necessarie per stabilire alle risorse mesh di servizi all'interno del cluster. Queste istruzioni per la disinstallazione di non revocare queste autorizzazioni, consentendo una facile riattivazione Cloud Service Mesh in futuro.