Probleme bei der Bereinigung beheben

Auf dieser Seite wird beschrieben, wie Sie Probleme mit der von Cloud Service Mesh verwalteten Steuerungsebene bei Verwendung der TRAFFIC_DIRECTOR-Implementierung beheben.

Synthetische Dienste bereinigen

Wenn Sie die TRAFFIC_DIRECTOR-Steuerungsebene verwenden, erstellt Cloud Service Mesh synthetische Kubernetes-Dienste, um Teilmengen zu unterstützen. Diese Dienste sind mit istio.io/owned-by:gsmconfig.gke.io gekennzeichnet.

Wenn Sie discoverySelectors in der Istio API ändern, um einen Namespace zu entfernen, der synthetische Kubernetes-Dienste enthält, werden diese synthetischen Kubernetes-Dienste von Cloud Service Mesh nicht automatisch entfernt.

Sie können dieses Problem beheben, indem Sie synthetische Kubernetes-Dienste in den Zielnamespaces manuell entfernen. Führen Sie dazu den folgenden Befehl aus:

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

Ersetzen Sie NAMESPACE durch den Namespace, den Sie bereinigen möchten.

Anmerkungen zu Netzwerk-Endpunktgruppen bereinigen

Bei Verwendung der TRAFFIC_DIRECTOR-Steuerungsebene erstellt Cloud Service Mesh Netzwerk-Endpunktgruppen, indem Diensten cloud.google.com/neg-Anmerkungen für das Load Balancing hinzugefügt werden.

Wenn Sie discoverySelectors in der Istio API ändern, um einen Namespace zu entfernen, der Kubernetes-Dienste enthält, werden diese Netzwerkendpunktgruppen von Cloud Service Mesh nicht automatisch entfernt.

Sie können dieses Problem mindern, indem Sie die cloud.google.com/neg-Anmerkungen manuell aus den Diensten in den Ziel-Namespaces entfernen.

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

Ersetzen Sie NAMESPACE durch den Namespace, den Sie bereinigen möchten.