クリーンアップに関する問題の解決

このページでは、TRAFFIC_DIRECTOR 実装を使用しているときに Cloud Service Mesh マネージド コントロール プレーンで発生する問題を解決する方法について説明します。

合成サービスをクリーンアップする

TRAFFIC_DIRECTOR コントロール プレーンの実装を使用する場合、Cloud Service Mesh によりサブセットをサポートする合成 Kubernetes Service が作成されます。これらの Service には istio.io/owned-by:gsmconfig.gke.io とラベルが付けられています。

Google Cloud フリートからクラスタの登録を解除すると、Cloud Service Mesh がこれらの合成 Kubernetes Services を削除できないことがあります。

この問題を軽減するには、次のコマンドを実行して、すべての Namespace 内の合成 Kubernetes Services を手動で削除します。

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 がこれらのアノテーションを削除してネットワーク エンドポイント グループをクリーンアップできない場合があります。

この問題を軽減するには、すべての Namespace のサービスから 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