Désinstaller Cloud Service Mesh intégré au cluster
Cette page explique comment désinstaller Cloud Service Mesh intégré au cluster si vous utilisez les API Istio. Si vous utilisez les API Compute Engine, aucune étape n'est nécessaire. Pour comprendre les différences, consultez la présentation de Cloud Service Mesh.
Suivez ces instructions pour désinstaller Cloud Service Mesh intégré au cluster et supprimer toutes les configurations.
Si vous désinstallez Cloud Service Mesh géré, suivez plutôt le guide de désinstallation gérée.
Si vous effectuez une migration depuis un déploiement au sein du cluster, suivez plutôt le guide de migration.
Désinstaller Cloud Service Mesh
Exécutez les commandes suivantes pour désinstaller tous les composants de Cloud Service Mesh.
Pour éviter toute interruption du trafic de l'application, procédez comme suit :
- Revenez aux règles mTLS STRICT en PERMISSIVE.
- Supprimez toute règle AuthorizationPolicy susceptible de bloquer le trafic.
Si l'injection side-car automatique sur vos espaces de noms est activée, désactivez-la. Exécutez la commande suivante pour afficher les étiquettes d'espace de noms :
kubectl get namespace YOUR_NAMESPACE --show-labelsLe résultat ressemble à ce qui suit :
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Si l'élément
istio.io/rev=apparaît dans le résultat sous la colonneLABELS, supprimez-le :kubectl label namespace YOUR_NAMESPACE istio.io/rev-Si l'élément
istio-injectionapparaît dans le résultat sous la colonneLABELS, supprimez-le :kubectl label namespace YOUR_NAMESPACE istio-injection-Si vous ne voyez aucun des libellés
istio.io/revouistio-injection, l'injection automatique n'était pas activée sur l'espace de noms.Redémarrez vos charges de travail comportant des side-cars injectés pour supprimer les proxys.
Supprimez
validatingwebhooksconfigurationetmutatingwebhookconfigurationde votre cluster, s'ils existent :kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot,istio.io/owned-by!=mesh.googleapis.comUne fois que toutes les charges de travail sont accessibles et qu'aucun proxy n'est observé, vous pouvez supprimer le plan de contrôle au sein du cluster en toute sécurité pour arrêter la facturation.
Pour supprimer le plan de contrôle au sein du cluster, exécutez la commande suivante :
istioctl uninstall --purgeS'il n'y a pas d'autres plans de contrôle, vous pouvez supprimer l'espace de noms
istio-systempour vous débarrasser de toutes les ressources Cloud Service Mesh. Sinon, supprimez les services correspondant aux révisions de Cloud Service Mesh. Cela permet d'éviter la suppression de ressources partagées, telles que les CRD.Vous pouvez également supprimer les CR Istio, les CRD Istio, le configmap istio-(revision), le configmap asm-options, les espaces de noms
istio-systemetasm-systempour supprimer le maillage de services du cluster ou les utiliser dans un autre maillage de services compatible avec l'API Istio.Supprimez les CR Istio :
kubectl delete gateways,virtualservices,destinationrules,serviceentries,envoyfilters,sidecars,peerauthentications,requestauthentications,authorizationpolicies,telemetries,wasmplugins,proxyconfigs --all --all-namespacesSupprimez les CRD Istio :
kubectl get crds -o name | grep --color=never 'istio.io' | xargs kubectl deleteSupprimez le configmap istio-(revision). Vous pouvez ignorer cette étape si vous supprimez l'espace de noms
istio-system.kubectl delete configmap istio-RELEASE_CHANNEL -n istio-systemRemplacez RELEASE_CHANNEL par votre version disponible.
Supprimez l'espace de noms
istio-system:kubectl delete namespace istio-system --ignore-not-found=trueSupprimez l'espace de noms
asm-system:kubectl delete namespace asm-system --ignore-not-found=trueVérifiez si les suppressions ont réussi :
kubectl get ns ``` The output should indicate a `Terminating` state and return as shown, otherwise you might have to manually delete any remaining resources in the namespaces and try again. ```sh NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m ```
Si vous supprimez vos clusters ou si vous les avez déjà supprimés, assurez-vous que chacun d'eux est non enregistré dans votre parc.
Si vous prévoyez d'arrêter d'utiliser Cloud Service Mesh au niveau du parc, désactivez la fonctionnalité de maillage de services pour votre projet hôte de parc.
gcloud container hub mesh disable --project FLEET_PROJECT_IDOù FLEET_PROJECT_ID est l'ID de votre projet hôte de parc.
Une fois ces étapes effectuées, tous les composants Cloud Service Mesh, y compris les proxys, les autorités de certification intégrées au cluster, ainsi que les rôles et liaisons RBAC, sont systématiquement supprimés du cluster. Lors du processus d'installation, un compte de service appartenant à Google reçoit les autorisations nécessaires pour établir les ressources du maillage de services dans le cluster. Ces instructions de désinstallation ne révoquent pas ces autorisations, ce qui permet de réactiver facilement Cloud Service Mesh à l'avenir.