解決清理問題

本頁說明如何在使用 TRAFFIC_DIRECTOR 實作時,解決 Cloud Service Mesh 管理控制平面的問題。

清理合成服務

使用 TRAFFIC_DIRECTOR 控制平面實作時,Cloud Service Mesh 會建立合成 Kubernetes 服務,以支援子集。這些服務會標示為 istio.io/owned-by:gsmconfig.gke.io

從 Google Cloud 機群取消註冊叢集時,Cloud Service Mesh 可能無法移除這些合成 Kubernetes 服務。

如要緩解這個問題,您可以執行下列指令,手動移除所有命名空間中的合成 Kubernetes 服務:

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

清理網路端點群組註解

使用 TRAFFIC_DIRECTOR 控制平面實作時,Cloud Service Mesh 會在服務中加入 cloud.google.com/neg 註解,藉此建立網路端點群組,以便負載平衡。

從 Google Cloud 機群取消註冊叢集時,Cloud Service Mesh 可能無法移除這些註解來清理網路端點群組。

為減輕這個問題,您可以手動從所有命名空間的服務中移除 cloud.google.com/neg 註解。

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