Version 1.13

Disinstallazione di Anthos Service Mesh

Questa pagina spiega come disinstallare Anthos Service Mesh.

Disinstallazione di Anthos Service Mesh

Utilizza i seguenti comandi per disinstallare tutti i componenti di Anthos 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 l'interruzione del traffico dell'applicazione:

    • Esegui il downgrade a AUTORIZZAZIONE di tutti i criteri STRICT mTLS.
    • Rimuovi qualsiasi AuthorizationPolicy che potrebbe bloccare il traffico.
  2. Disattiva l'inserimento automatico sidecar nei tuoi spazi dei nomi, se abilitato:

     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 nella colonna LABELS è presente istio.io/rev= nell'output, rimuovilo:

     kubectl label namespace YOUR_NAMESPACE istio.io/rev-
    

    Se nella colonna LABELS è presente istio-injection nell'output, rimuovilo:

     kubectl label namespace YOUR_NAMESPACE istio-injection-
    

    Se non vedi le etichette istio.io/rev o istio-injection, l'inserimento automatico non è stato attivato nello spazio dei nomi.

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

  4. Rimuovi tutte le risorse ControlPlaneRevision nel cluster:

    kubectl delete controlplanerevision -n istio-system
    
  5. Elimina i webhook dal cluster, se presenti.

    Anthos Service Mesh nel cluster

    Elimina i validatingwebhooksconfiguration e l'mutatingwebhookconfiguration.

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

    Anthos Service Mesh gestito

    A. Elimina l'elemento validatingwebhooksconfiguration.

    kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
    

    B. Elimina l'elemento mutatingwebhookconfiguration.

    kubectl delete mutatingwebhookconfiguration RELEASE_CHANNEL
    
  6. Dopo che sono arrivati tutti i carichi di lavoro e che non sono stati osservati proxy, puoi eliminare in modo sicuro il piano di controllo interno al cluster per interrompere la fatturazione. Se hai eseguito il deployment di un piano di controllo gestito, questo viene eliminato automaticamente con il passaggio precedente.

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

    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 di Anthos Service Mesh. In caso contrario, elimina i servizi corrispondenti alle revisioni di Anthos Service Mesh. Questo evita l'eliminazione delle risorse condivise, come i CRD.

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

     kubectl delete namespace istio-system asm-system --ignore-not-found=true
    
  8. Controlla se le eliminazioni sono andate a buon fine:

     kubectl get ns
    

    L'output dovrebbe indicare uno stato Terminating e tornare 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