Disinstallazione di Anthos Service Mesh

Questa pagina spiega come disinstallare Anthos Service Mesh.

Disinstallazione di Anthos Service Mesh

Utilizza i comandi seguenti 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 che hai applicato.

  1. Per evitare l'interruzione del traffico dell'applicazione:

    • Esegui il downgrade dei criteri STRICT mTLS a PERMISSIVE.
    • Rimuovi qualsiasi AuthorizationPolicy che potrebbe bloccare il traffico.
  2. Disabilita Automatic Anthos Service Mesh gestito automaticamente tramite l'API Fleet, se è abilitata.

  3. Disabilita l'inserimento automatica del file collaterale 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 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 automatica non è stato abilitato nello spazio dei nomi.

  4. Riavvia i carichi di lavoro in cui sono stati inseriti sidecar per rimuovere i proxy.

  5. Rimuovi qualsiasi risorsa ControlPlaneRevision nel cluster:

    kubectl delete controlplanerevision -n istio-system
    
  6. Elimina i webhook dal cluster, se esistenti.

    Anthos Service Mesh nel cluster

    Elimina i validatingwebhooksconfiguration e le mutatingwebhookconfiguration.

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

    Anthos Service Mesh gestito

    A. Elimina il validatingwebhooksconfiguration.

    kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
    

    B. Elimina il mutatingwebhookconfiguration.

    kubectl delete mutatingwebhookconfiguration RELEASE_CHANNEL
    
  7. Quando tutti i carichi di lavoro sono disponibili e non vengono osservati 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 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 Anthos Service Mesh. In caso contrario, elimina i servizi corrispondenti alle revisioni di Anthos Service Mesh. In questo modo eviterai di eliminare 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 tornare come mostrato, altrimenti potrebbe essere necessario eliminare manualmente le risorse rimanenti negli spazi dei nomi e riprovare.

     NAME                 STATUS       AGE
     istio-system         Terminating  71m
     asm-system           Terminating  71m