이 페이지에서는 TRAFFIC_DIRECTOR 구현을 사용할 때 Cloud Service Mesh 관리형 컨트롤 플레인 관련 문제를 해결하는 방법을 설명합니다.
합성 서비스 정리
TRAFFIC_DIRECTOR 컨트롤 플레인 구현을 사용하는 경우 Cloud Service Mesh는 하위 집합을 지원하기 위해 합성 Kubernetes 서비스를 만듭니다. 이러한 서비스는 istio.io/owned-by:gsmconfig.gke.io로 라벨이 지정됩니다.
Istio API에서 discoverySelectors를 수정하여 합성 Kubernetes 서비스가 포함된 네임스페이스를 삭제해도 Cloud Service Mesh는 이러한 합성 Kubernetes 서비스를 자동으로 삭제하지 않습니다.
이 문제를 해결하려면 다음 명령어를 실행하여 대상 네임스페이스에서 합성 Kubernetes 서비스를 수동으로 삭제하면 됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-20(UTC)"],[],[],null,["Resolving cleanup issues\n\nThis page explains how to resolve issues with Cloud Service Mesh managed control plane\nwhen using the `TRAFFIC_DIRECTOR` implementation.\n\nClean up synthetic services\n\nWhen using the `TRAFFIC_DIRECTOR` control plane implementation, Cloud Service Mesh\ncreates synthetic Kubernetes services to support subset. These services are\nlabeled with `istio.io/owned-by:gsmconfig.gke.io`.\n\nWhen you unregister a cluster from a Google Cloud fleet, Cloud Service Mesh\nmight not be able to remove these synthetic Kubernetes services.\n\nTo mitigate this issue, you can manually remove synthetic Kubernetes services in\nall namespaces by running the following command: \n\n kubectl delete service -l istio.io/owned-by=gsmconfig.gke.io -A\n\nClean up network endpoint groups annotations\n\nWhen using the `TRAFFIC_DIRECTOR` control plane implementation, Cloud Service Mesh\ncreates network endpoint groups by adding `cloud.google.com/neg` annotations to\nservices for load balancing.\n\nWhen you unregister a cluster from a Google Cloud fleet, Cloud Service Mesh\nmight not be able to remove these annotations to clean up the network endpoint\ngroups.\n\nTo mitigate this issue, you can manually remove the `cloud.google.com/neg`\nannotations from services in all namespaces. \n\n service_names=($(kubectl get service -A -o jsonpath='{.items[*].metadata.name}'))\n for service in \"${service_names[@]}\"; do\n kubectl annotate service $service -A cloud.google.com/neg-\n done"]]