Disinstalla Cloud Service Mesh

In questa pagina viene spiegato come disinstallare Cloud Service Mesh.

Disinstalla Cloud Service Mesh

Utilizza i comandi seguenti 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), 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 Automatic Managed Cloud Service Mesh tramite l'API Fleet, se è abilitato.

  3. Disabilita l'inserimento automatico dei file collaterali negli 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 colonna LABELS, rimuovilo:

     kubectl label namespace YOUR_NAMESPACE istio.io/rev-
    

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

     kubectl label namespace YOUR_NAMESPACE istio-injection-
    

    Se non vedi le etichette istio.io/rev o istio-injection, l'inserimento automatico non è stato 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, rimuovi tutte le risorse controlplanerevision nel cluster:

    kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
    

    dove RELEASE_CHANNEL è il canale di rilascio di cui hai eseguito il provisioning, ad esempio asm-managed, asm-managed-rapid o asm-managed-stable.

  6. 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 mutatingwebhookconfiguration.

    kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
    
  7. Quando vengono visualizzati tutti i carichi di lavoro e non viene osservato alcun proxy, puoi eliminare in sicurezza il piano di controllo nel cluster per interrompere la fatturazione. Se hai eseguito il deployment di un piano di controllo gestito, questo viene automaticamente eliminato con il passaggio precedente.

    Per rimuovere il piano di controllo nel cluster, esegui questo comando:

    istioctl x uninstall --purge
    

    Se non esistono 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. In questo modo si evita l'eliminazione delle risorse condivise, come i CRD.

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

     kubectl delete namespace istio-system asm-system --ignore-not-found=true
    
  9. 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 negli spazi dei nomi e riprovare.

     NAME                 STATUS       AGE
     istio-system         Terminating  71m
     asm-system           Terminating  71m
    
    1. Se elimini i cluster o li hai già eliminati, assicurati che ogni cluster non sia registrato nel parco risorse.
  10. Se utilizzi Cloud Service Mesh gestito, elimina il deployment mdp-controller:

     kubectl delete deployment mdp-controller -n kube-system
    
  11. Elimina il daemonset istio-cni-node:

     kubectl delete daemonset istio-cni-node -n kube-system