정리 문제 해결

이 페이지에서는 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 서비스를 수동으로 삭제하면 됩니다.

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

NAMESPACE를 정리하려는 실제 네임스페이스로 바꿉니다.

네트워크 엔드포인트 그룹 주석 정리

TRAFFIC_DIRECTOR 컨트롤 플레인 구현을 사용하는 경우 Cloud Service Mesh는 부하 분산을 위해 서비스에 cloud.google.com/neg 주석을 추가하여 네트워크 엔드포인트 그룹을 만듭니다.

Istio API에서 discoverySelectors를 수정하여 Kubernetes 서비스가 포함된 네임스페이스를 삭제해도 Cloud Service Mesh는 이러한 네트워크 엔드포인트 그룹을 자동으로 삭제하지 않습니다.

이 문제를 해결하려면 대상 네임스페이스의 서비스에서 cloud.google.com/neg 주석을 수동으로 삭제하면 됩니다.

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

NAMESPACE를 정리하려는 실제 네임스페이스로 바꿉니다.