Resolving cleanup issues

This page explains how to resolve issues with Cloud Service Mesh managed control plane when using the TRAFFIC_DIRECTOR implementation.

Clean up synthetic services

When using the TRAFFIC_DIRECTOR control plane implementation, Cloud Service Mesh creates synthetic Kubernetes services to support subset. These services are labeled with istio.io/owned-by:gsmconfig.gke.io .

When you unregister a cluster from a Google Cloud fleet, Cloud Service Mesh might not be able to remove these synthetic Kubernetes services.

To mitigate this issue, you can manually remove synthetic Kubernetes services in all namespaces by running the following command:

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

Clean up network endpoint groups annotations

When using the TRAFFIC_DIRECTOR control plane implementation, Cloud Service Mesh creates network endpoint groups by adding cloud.google.com/neg annotations to services for load balancing.

When you unregister a cluster from a Google Cloud fleet, Cloud Service Mesh might not be able to remove these annotations to clean up the network endpoint groups.

To mitigate this issue, you can manually remove the cloud.google.com/neg annotations from services in all 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 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: