Como resolver problemas de limpeza

Esta página explica como resolver problemas com o plano de controle gerenciado do Cloud Service Mesh ao usar a implementação TRAFFIC_DIRECTOR.

Limpar serviços sintéticos

Ao usar a implementação do plano de controle TRAFFIC_DIRECTOR, o Cloud Service Mesh cria serviços Kubernetes sintéticos para oferecer suporte a subconjuntos. Esses serviços são marcados com istio.io/owned-by:gsmconfig.gke.io.

Quando você desregistra um cluster de uma Google Cloud frota, a malha de serviço do Cloud pode não conseguir remover esses serviços Kubernetes sintéticos.

Para minimizar esse problema, remova manualmente os serviços do Kubernetes sintéticos em todos os namespaces executando o seguinte comando:

kubectl delete service -l istio.io/owned-by=gsmconfig.gke.io -A

Limpar anotações de grupos de endpoints de rede

Ao usar a implementação do plano de controle TRAFFIC_DIRECTOR, a Cloud Service Mesh cria grupos de endpoints de rede adicionando anotações cloud.google.com/neg aos serviços para balanceamento de carga.

Quando você desregistra um cluster de uma Google Cloud frota, o Cloud Service Mesh pode não conseguir remover essas anotações para limpar os grupos de endpoints de rede.

Para atenuar esse problema, remova manualmente as anotações cloud.google.com/neg dos serviços em todos os namespaces.

service_names=($(kubectl get service -A -o jsonpath='{.items[*].metadata.name}'))
for service in "${service_names[@]}"; do
  kubectl annotate service $service -A cloud.google.com/neg-
done