Desinstale o Cloud Service Mesh
Esta página explica como desinstalar o Cloud Service Mesh.
Desinstale o Cloud Service Mesh
Use os seguintes comandos para desinstalar todos os componentes do Cloud Service Mesh. Estes comandos também eliminam o espaço de nomes istio-system
e todas as definições de recursos personalizados (CRDs), incluindo quaisquer CRDs que tenha aplicado.
Para evitar a interrupção do tráfego de aplicações:
- Mude todas as políticas de mTLS STRICT para PERMISSIVE.
- Remova todas as AuthorizationPolicy que possam bloquear o tráfego.
Desative a gestão automática neste cluster (quer a tenha aplicado diretamente ou através da configuração predefinida da frota):
gcloud container fleet mesh update --management manual
Desative a injeção automática de sidecar nos seus espaços de nomes, se estiver ativada. Execute o seguinte comando para apresentar as etiquetas do espaço de nomes:
kubectl get namespace YOUR_NAMESPACE --show-labels
O resultado é semelhante ao seguinte:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Se vir
istio.io/rev=
no resultado na colunaLABELS
, remova-o:kubectl label namespace YOUR_NAMESPACE istio.io/rev-
Se vir
istio-injection
no resultado na colunaLABELS
, remova-o:kubectl label namespace YOUR_NAMESPACE istio-injection-
Se não vir as etiquetas
istio.io/rev
nemistio-injection
, significa que a injeção automática não foi ativada no espaço de nomes.Reinicie as cargas de trabalho com sidecars injetados para remover os proxies.
Se estiver a usar o Cloud Service Mesh gerido, remova todos os
controlplanerevision
recursos no cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
Onde RELEASE_CHANNEL é o canal de lançamento que aprovisionou, como
asm-managed
,asm-managed-rapid
ouasm-managed-stable
.Elimine webhooks do seu cluster, se existirem.
Cloud Service Mesh no cluster
Elimine o
validatingwebhooksconfiguration
e omutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Managed Cloud Service Mesh
A. Eliminar
validatingwebhooksconfiguration
.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Eliminar
mutatingwebhookconfiguration
.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Quando todas as cargas de trabalho estiverem disponíveis e não forem observados proxies, pode eliminar em segurança o plano de controlo no cluster para parar a faturação. Se implementou um plano de controlo gerido, este é eliminado automaticamente com o passo anterior.
Para remover o plano de controlo no cluster, execute o comando abaixo:
istioctl x uninstall --purge
Se não existirem outros planos de controlo, pode eliminar o espaço de nomes para se livrar de todos os recursos da Cloud Service Mesh.
istio-system
Caso contrário, elimine os serviços correspondentes às revisões da Cloud Service Mesh. Isto evita a eliminação de recursos partilhados, como CRDs.Elimine os espaços de nomes
istio-system
easm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
Verifique se as eliminações foram bem-sucedidas:
kubectl get ns
O resultado deve indicar um estado
Terminating
e ser devolvido conforme apresentado. Caso contrário, pode ter de eliminar manualmente todos os recursos restantes nos espaços de nomes e tentar novamente.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
- Se vai eliminar os clusters ou já os eliminou, certifique-se de que cada cluster está anulado no seu conjunto de veículos.
Se ativou a configuração predefinida da frota do Cloud Service Mesh gerido e quiser desativá-la para clusters futuros, desative-a. Pode ignorar este passo se estiver a desinstalar apenas de um único cluster.
gcloud container hub mesh disable --fleet-default-member-config --project FLEET_PROJECT_ID
Em que FLEET_PROJECT_ID é o ID do seu projeto de anfitrião da frota.
Se estiver a usar o Cloud Service Mesh gerido, elimine a implementação
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Verifique se o configmap
istio-cni-plugin-config
está presente:kubectl get configmap istio-cni-plugin-config -n kube-system
Se estiver presente, elimine o configmap
istio-cni-plugin-config
:kubectl delete configmap istio-cni-plugin-config -n kube-system
Elimine o daemonset
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system
Após a conclusão destes passos, todos os componentes do Cloud Service Mesh, incluindo proxies, autoridades de certificação no cluster e funções e associações de RBAC, são removidos sistematicamente do cluster. Durante o processo de instalação, é concedido à conta de serviço pertencente à Google as autorizações necessárias para estabelecer os recursos da malha de serviços no cluster. Estas instruções de desinstalação não revogam estas autorizações, o que permite uma reativação perfeita do Cloud Service Mesh no futuro.