Désinstaller Cloud Service Mesh
Cette page explique comment désinstaller Cloud Service Mesh.
Désinstaller Cloud Service Mesh
Exécutez les commandes suivantes pour désinstaller tous les composants Cloud Service Mesh. Ces commandes suppriment l'espace de noms istio-system
et toutes les définitions de ressources personnalisées (CRD, Custom Resource Definition), y compris celles que vous avez appliquées.
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.
Désactiver le maillage de services cloud géré automatique via l'API Fleet s'il est activé.
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 libellés d'espace de noms :
kubectl get namespace YOUR_NAMESPACE --show-labels
Le 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-injection
apparaî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/rev
ouistio-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.
Si vous utilisez Cloud Service Mesh géré, supprimez toutes les
controlplanerevision
ressources dans le cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
Où RELEASE_CHANNEL correspond au version disponible que vous avez provisionnées, telles que
asm-managed
,asm-managed-rapid
ouasm-managed-stable
Supprimez les webhooks de votre cluster, s'ils existent.
Maillage de services cloud dans le cluster
Supprimez
validatingwebhooksconfiguration
etmutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Cloud Service Mesh géré
A. Supprimez
validatingwebhooksconfiguration
.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Supprimez
mutatingwebhookconfiguration
.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Une 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. Si vous avez déployé un plan de contrôle géré, il est automatiquement supprimé à l'étape précédente.
Pour supprimer le plan de contrôle au sein du cluster, exécutez la commande ci-dessous :
istioctl x uninstall --purge
S'il n'existe aucun autre plan de contrôle, vous pouvez supprimer le
istio-system
pour vous débarrasser de toutes les ressources Cloud Service Mesh. Sinon, supprimez le correspondant aux révisions de Cloud Service Mesh. Cela permet d'éviter la suppression de ressources partagées, telles que les CRD.Supprimez les espaces de noms
istio-system
etasm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
Vérifiez si les suppressions ont réussi :
kubectl get ns
L'état
Terminating
et le résultat ci-dessous doivent s'afficher dans la sortie. Sinon, vous devrez peut-être supprimer manuellement toutes les ressources restantes dans les espaces de noms, puis réessayer.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
- Si vous souhaitez supprimer vos clusters ou si vous les avez déjà supprimés, assurez-vous que chaque cluster est non enregistré dans votre parc.
Si vous utilisez le service géré Cloud Service Mesh, supprimez le déploiement
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Supprimez le daemonset
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system