Desinstalar o Cloud Service Mesh
Esta página explica como desinstalar o Cloud Service Mesh.
Desinstalar o Cloud Service Mesh
Use os comandos a seguir para desinstalar todos os componentes do Cloud 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.
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.
Desativar o Cloud Service Mesh gerenciado automaticamente pela API Fleet caso esteja ativada.
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 colunaLABELS
, remova-a:kubectl label namespace YOUR_NAMESPACE istio.io/rev-
Se você vir
istio-injection
na saída na colunaLABELS
, remova-a:kubectl label namespace YOUR_NAMESPACE istio-injection-
Se você não vir os rótulos
istio.io/rev
ouistio-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.
Se você estiver usando o Cloud Service Mesh gerenciado, remova todos os recursos
controlplanerevision
no cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
Em que RELEASE_CHANNEL é o canal de lançamento provisionado, como
asm-managed
,asm-managed-rapid
ouasm-managed-stable
.Exclua os webhooks do cluster, se houver.
Cloud Service Mesh no cluster
Exclua
validatingwebhooksconfiguration
emutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Cloud Service Mesh gerenciado
A. Exclua
validatingwebhooksconfiguration
:kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Exclua
mutatingwebhookconfiguration
:kubectl delete mutatingwebhookconfiguration RELEASE_CHANNEL
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
istio-system
para se livrar de 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.Exclua os namespaces
istio-system
easm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
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
Se você estiver usando o Cloud Service Mesh gerenciado, exclua a implantação
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Exclua o DaemonSet
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system
Siga as etapas para cancelar inscrição de cada cluster da sua frota. Essa etapa é necessária mesmo depois de excluir o cluster, já que os clusters excluídos ainda podem estar registrados na sua frota.