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 ao subconjunto. Esses serviços são
marcados com istio.io/owned-by:gsmconfig.gke.io
.
Quando você modifica discoverySelectors
na API do Istio para remover um namespace que
contém serviços sintéticos do Kubernetes, a Cloud Service Mesh não remove automaticamente
esses serviços sintéticos do Kubernetes.
Para minimizar esse problema, remova manualmente os serviços do Kubernetes sintéticos nos namespaces de destino executando o seguinte comando:
kubectl delete service -l istio.io/owned-by=gsmconfig.gke.io -n NAMESPACE
Substitua NAMESPACE pelo namespace que você quer limpar.
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ê modifica discoverySelectors
na API Istio para remover um namespace que
contém serviços do Kubernetes, o Cloud Service Mesh não remove automaticamente esses
grupos de endpoints de rede.
Para atenuar esse problema, remova manualmente as anotações cloud.google.com/neg
dos serviços nos namespaces de destino.
service_names=($(kubectl get service -n NAMESPACE -o jsonpath='{.items[*].metadata.name}'))
for service in "${service_names[@]}"; do
kubectl annotate service $service -n NAMESPACE cloud.google.com/neg-
done
Substitua NAMESPACE pelo namespace que você quer limpar.