Desinstalar o Anthos Service Mesh.

Nesta página, explicamos como desinstalar o Anthos Service Mesh.

Desinstalar o Anthos Service Mesh.

Use os seguintes comandos para desinstalar todos os componentes do Anthos Service Mesh. Esses comandos também excluem o namespace istio-system e todas as definições de recursos personalizados (CRDs, na sigla em inglês), incluindo todos os CRDs que você aplicou.

  1. Para evitar a interrupção do tráfego de aplicativos:

    • Faça o downgrade de qualquer política STRICT mTLS para PERMISSIVE.
    • Remova qualquer AuthorizationPolicy que possa bloquear o tráfego.
  2. Desativar o Anthos Service Mesh gerenciado automaticamente pela API Fleet, se estiver ativado.

  3. Desative a injeção automática de sidecar nos namespaces, se estiver ativada. Execute o seguinte comando para exibir rótulos de namespace:

     kubectl get namespace YOUR_NAMESPACE --show-labels
    

    O resultado será assim:

     NAME   STATUS   AGE     LABELS
     demo   Active   4d17h   istio.io/rev=asm-181-5

    Se você vir istio.io/rev= na saída na coluna LABELS, remova-a:

     kubectl label namespace YOUR_NAMESPACE istio.io/rev-
    

    Se você vir istio-injection na saída na coluna LABELS, remova-a:

     kubectl label namespace YOUR_NAMESPACE istio-injection-
    

    Se você não vir os rótulos istio.io/rev ou istio-injection, a injeção automática não foi ativada no namespace.

  4. Reinicie as cargas de trabalho que tenham arquivos secundários injetados para remover os proxies.

  5. Remova todos os recursos do ControlPlaneRevision no cluster:

    kubectl delete controlplanerevision -n istio-system
    
  6. Exclua os webhooks do cluster, se houver.

    Anthos Service Mesh no cluster

    Exclua validatingwebhooksconfiguration e mutatingwebhookconfiguration.

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

    Anthos Service Mesh gerenciado

    A) Exclua validatingwebhooksconfiguration:

    kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
    

    B. Exclua mutatingwebhookconfiguration:

    kubectl delete mutatingwebhookconfiguration RELEASE_CHANNEL
    
  7. Depois que todas as cargas de trabalho aparecerem e nenhum proxy for observado, será possível excluir com segurança o plano de controle no clusterpara interromper o faturamento. Se você implantou um plano de controle gerenciado, ele será excluído automaticamente com a etapa anterior.

    Para remover o plano de controle no cluster, execute o comando abaixo:

    istioctl x uninstall --purge
    

    Se não houver outros planos de controle, exclua o namespace istio-system para eliminar todos os recursos do Anthos Service Mesh. Caso contrário, exclua os serviços correspondentes às revisões do Anthos Service Mesh. Isso evita a exclusão de recursos compartilhados, como CRDs.

  8. Exclua os namespaces istio-system e asm-system:

     kubectl delete namespace istio-system asm-system --ignore-not-found=true
    
  9. Verifique se as exclusões foram feitas:

     kubectl get ns
    

    A saída indicará um estado Terminating e retornará conforme mostrado. Caso contrário, talvez seja necessário excluir manualmente os recursos restantes nos namespaces e tentar novamente.

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