Desinstalar o Cloud Service Mesh no cluster
Nesta página, explicamos como desinstalar o Cloud Service Mesh no cluster se você estiver usando as APIs do Istio. Se você estiver usando as APIs do Compute Engine, nenhuma etapa será necessária. Consulte a Visão geral do Cloud Service Mesh para entender as diferenças.
Seguir estas instruções para desinstalar o Cloud Service Mesh no cluster remove todas as configurações.
Se você estiver desinstalando o Cloud Service Mesh gerenciado, siga o guia de desinstalação gerenciada em vez disso.
Se você estiver migrando do cluster para o gerenciado, siga o guia de migração.
Desinstalar o Cloud Service Mesh
Use os comandos a seguir para desinstalar todos os componentes do Cloud Service Mesh.
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.
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-labelsO 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 colunaLABELS, remova-a:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Se você vir
istio-injectionna saída na colunaLABELS, remova-a:kubectl label namespace YOUR_NAMESPACE istio-injection-Se você não vir os rótulos
istio.io/revouistio-injection, a injeção automática não foi ativada no namespace.Reinicie as cargas de trabalho que tenham arquivos secundários injetados para remover os proxies.
Exclua
validatingwebhooksconfigurationemutatingwebhookconfigurationdo cluster, se eles existirem:kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot,istio.io/owned-by!=mesh.googleapis.comDepois 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.
Para remover o plano de controle no cluster, execute o seguinte comando:
istioctl uninstall --purgeSe não houver outros planos de controle, exclua o namespace
istio-systempara eliminar todos os recursos do Cloud Service Mesh. Caso contrário, exclua os serviços correspondentes às revisões do Cloud Service Mesh. Isso evita a exclusão de recursos compartilhados, como CRDs.Opcionalmente, remova os CRs do Istio, os CRDs do Isto, o ConfigMap do Istio-(revisão), o ConfigMap do asm-options, os namespaces
istio-systemeasm-systempara remover a malha de serviço do cluster ou usá-los em outra malha de serviço compatível com a API Istio.Remover CRs do Istio:
kubectl delete gateways,virtualservices,destinationrules,serviceentries,envoyfilters,sidecars,peerauthentications,requestauthentications,authorizationpolicies,telemetries,wasmplugins,proxyconfigs --all --all-namespacesRemover CRDs do Istio:
kubectl get crds -o name | grep --color=never 'istio.io' | xargs kubectl deleteRemover o ConfigMap do Istio-(revisão). Você pode pular esta etapa se excluir o namespace
istio-system.kubectl delete configmap istio-RELEASE_CHANNEL -n istio-systemSubstitua RELEASE_CHANNEL pelo canal de lançamento
Remover o namespace
istio-system:kubectl delete namespace istio-system --ignore-not-found=trueRemover o namespace
asm-system:kubectl delete namespace asm-system --ignore-not-found=trueVerifique se as exclusões foram feitas:
kubectl get ns ``` The output should indicate a `Terminating` state and return as shown, otherwise you might have to manually delete any remaining resources in the namespaces and try again. ```sh NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m ```
Se você excluir os clusters ou já os tiver excluído, verifique se cada cluster foi cancelado o registro da sua frota.
Se você planeja parar de usar o Cloud Service Mesh no nível da frota, desative o recurso de malha de serviço para o projeto host da frota.
gcloud container hub mesh disable --project FLEET_PROJECT_IDEm que FLEET_PROJECT_ID é o ID do projeto host da frota.
Depois de concluir essas etapas, todos os componentes do Cloud Service Mesh, incluindo proxies, autoridades de certificação no cluster e papéis e vinculações do RBAC, serão removidos sistematicamente do cluster. Durante o processo de instalação, uma conta de serviço do Google recebe as permissões necessárias para estabelecer os recursos de malha de serviço no cluster. Essas instruções de desinstalação não revogam essas permissões, permitindo uma reativação perfeita do Cloud Service Mesh no futuro.