クリーンアップに関する問題の解決
このページでは、TRAFFIC_DIRECTOR
実装を使用しているときに Cloud Service Mesh マネージド コントロール プレーンで発生する問題を解決する方法について説明します。
合成サービスをクリーンアップする
TRAFFIC_DIRECTOR
コントロール プレーンの実装を使用する場合、Cloud Service Mesh によりサブセットをサポートする合成 Kubernetes Service が作成されます。これらの Service には istio.io/owned-by:gsmconfig.gke.io
とラベルが付けられています。
Istio API で discoverySelectors
を変更して、合成 Kubernetes Service を含む Namespace を削除した場合、Cloud Service Mesh はこれらの合成 Kubernetes Service を自動的に削除しません。
この問題を軽減するには、次のコマンドを実行して、対象 Namespace 内の合成 Kubernetes Service を手動で削除します。
kubectl delete service -l istio.io/owned-by=gsmconfig.gke.io -n NAMESPACE
NAMESPACE は、クリーンアップする実際の Namespace に置き換えます。
ネットワーク エンドポイント グループのアノテーションをクリーンアップする
TRAFFIC_DIRECTOR
コントロール プレーンの実装を使用する場合、Cloud Service Mesh は、ロード バランシング用にサービスに cloud.google.com/neg
アノテーションを追加して、ネットワーク エンドポイント グループを作成します。
Istio API で discoverySelectors
を変更して Kubernetes Service を含む Namespace を削除した場合、Cloud Service Mesh はこれらのネットワーク エンドポイント グループを自動的に削除しません。
この問題を軽減するには、対象 Namespace のサービスから 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 は、クリーンアップする実際の Namespace に置き換えます。