クリーンアップに関する問題の解決
このページでは、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