Désinstaller des services de données avec Azure Arc
Cet article explique comment supprimer des ressources de service de données avec Azure Arc à partir d’Azure.
Avertissement
Lorsque vous supprimez des ressources comme décrit dans cet article, ces actions sont irréversibles.
Le déploiement de services de données compatibles avec Azure Arc implique le déploiement d’un contrôleur de données Azure Arc, ainsi que d’instances de services de données SQL Managed Instance avec Azure Arc ou de serveurs PostgresQL avec Azure Arc. Le déploiement crée plusieurs artefacts, tels que :
- Définitions de ressources personnalisées
- Rôles de cluster
- Liaisons de rôle de cluster
- Services d’API
- Espace de noms, s’il n’en existe pas
En mode connexion directe, il existe des artefacts supplémentaires, tels que :
- Extensions de cluster
- Localisations personnalisées
Avant
Avant de supprimer une ressource, telle que SQL Managed Instance avec Azure Arc ou un contrôleur de données, vous devez effectuer les actions suivantes :
Pour un contrôleur de données connecté indirectement, exportez et chargez les informations d’utilisation dans Azure pour un calcul précis de la facturation, en suivant les instructions décrites dans Charger des données de facturation sur Azure - Mode connexion indirecte.
Assurez-vous que tous les services de données créés sur le contrôleur de données sont désinstallés comme décrit dans :
Après avoir supprimé toutes les instances existantes de SQL Managed Instance avec Azure Arc ou de serveur PostgreSQL avec Azure Arc, supprimez le contrôleur de données en utilisant l’une des méthodes appropriées pour le mode de connectivité.
Remarque
Si vous avez déployé le contrôleur de données en mode connexion directe, procédez comme suit pour :
- Supprimer le contrôleur de données en mode connexion directe à l’aide du portail Azure ou
- Supprimer le contrôleur de données en mode connexion directe à l’aide d’Azure CLI, puis supprimer le contrôleur de données du portail Azure ou d’Azure CLI et (2) supprimer les artefacts de cluster Kubernetes.
Si vous avez déployé le contrôleur de données en mode connexion indirecte, suivez les étapes décrites dans Supprimer le contrôleur de données en mode connexion indirecte.
Supprimer le contrôleur de données en mode connexion directe à l’aide du portail Azure
À partir du portail Azure :
- Accédez au groupe de ressources et supprimez le contrôleur de données.
- Sélectionnez le cluster Kubernetes avec Azure Arc, puis accédez à la page Vue d’ensemble :
- Sélectionnez Extensions sous Paramètres.
- Dans la page Extensions, sélectionnez l’extension de services de données Azure Arc (de type
microsoft.arcdataservices
), puis sélectionnez Désinstaller.
- Vous pouvez également supprimez l’emplacement personnalisé sur lequel le contrôleur de données est déployé.
- Vous pouvez également supprimer l’espace de noms sur votre cluster Kubernetes si aucune autre ressource n’est créée dans l’espace de noms.
Consultez Gérer des ressources Azure à l’aide du Portail Azure.
Supprimer le contrôleur de données en mode connexion directe à l’aide d’Azure CLI
Pour supprimer le contrôleur de données en mode connexion directe avec Azure CLI, il y a trois étapes à suivre :
- Supprimer le contrôleur de données
- Supprimer l’extension du contrôleur de données
- Créez l’emplacement personnalisé
Supprimer le contrôleur de données
Après vous être connecté à votre cluster Kubernetes, exécutez la commande suivante pour supprimer le contrôleur de données :
az arcdata dc delete --name <name of datacontroller> --resource-group <name of resource-group>
## Example
az arcdata dc delete --name arcdc --resource-group myrg
Supprimer l’extension du contrôleur de données
Après avoir supprimé le contrôleur de données, supprimez son extension comme décrit ci-dessous. Pour obtenir le nom de l’extension du contrôleur de données Arc, vous pouvez accéder à la page Vue d’ensemble de votre cluster connecté dans portail Azure, puis regarder sous l’onglet Extensions ou utiliser la commande ci-dessous pour obtenir la liste de toutes les extensions sur le cluster :
az k8s-extension list --resource-group <name of resource-group> --cluster-name <name of connected cluster> --cluster-type connectedClusters
## Example
az k8s-extension list --resource-group myrg --cluster-name mycluster --cluster-type connectedClusters
Une fois que vous avez le nom de l’extension du contrôleur de données Arc, supprimez celle-ci en exécutant la commande suivante :
az k8s-extension delete --resource-group <name of resource-group> --cluster-name <name of connected cluster> --cluster-type connectedClusters --name <name of your Arc data controller extension>
## Example
az k8s-extension delete --resource-group myrg --cluster-name mycluster --cluster-type connectedClusters --name myadsextension
Patientez quelques minutes, le temps que les actions ci-dessus soient accomplies. Assurez-vous que le contrôleur de données est supprimé en exécutant la commande ci-dessous pour vérifier son état :
kubectl get datacontrollers -A
Supprimer l’emplacement personnalisé
Si aucune autre extension n’est associée à cet emplacement personnalisé, procédez à la suppression de l’emplacement personnalisé comme suit :
az customlocation delete --name <Name of customlocation> --resource-group <Name of resource group>
## Example
az customlocation delete --name myCL --resource-group myrg
Supprimer le contrôleur de données en mode connexion indirecte
Par définition, avec un déploiement de contrôleur de données connecté indirectement, le portail Azure ignore votre cluster Kubernetes. Par conséquent, pour supprimer le contrôleur de données, vous devez le supprimer tant du cluster Kubernetes que du portail Azure en deux étapes.
- Supprimer le contrôleur de données en mode connexion indirecte du cluster
- Supprimer le contrôleur de données en mode connexion indirecte du portail Azure
Supprimer le contrôleur de données en mode connexion indirecte du cluster
Supprimez le contrôleur de données du cluster Kubernetes en exécutant la commande suivante :
az arcdata dc delete --name <name of datacontroller> --k8s-namespace <namespace of data controller> --use-k8s
## Example
az arcdata dc delete --name arcdc --k8s-namespace arc --use-k8s
Supprimer le contrôleur de données en mode connexion indirecte du portail Azure
À partir du portail Azure, accédez au groupe de ressources contenant le contrôleur de données, supprimez-le.
Supprimer les artefacts de cluster Kubernetes
Après avoir supprimé le contrôleur de données comme décrit ci-dessus, suivez les étapes ci-dessous pour supprimer complètement tous les artefacts liés aux services de données avec Azure Arc. La suppression de tous les artefacts peut être nécessaire dans des situations où vous avez un déploiement partiel ou défaillant, ou si vous souhaitez simplement réinstaller les services de données avec Azure Arc.
## Substitute your namespace into the variable
export mynamespace="arc"
## Delete Custom Resource Definitions
kubectl delete crd datacontrollers.arcdata.microsoft.com
kubectl delete crd postgresqls.arcdata.microsoft.com
kubectl delete crd sqlmanagedinstances.sql.arcdata.microsoft.com
kubectl delete crd sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com
kubectl delete crd dags.sql.arcdata.microsoft.com
kubectl delete crd exporttasks.tasks.arcdata.microsoft.com
kubectl delete crd monitors.arcdata.microsoft.com
kubectl delete crd activedirectoryconnectors.arcdata.microsoft.com
kubectl delete crd failovergroups.sql.arcdata.microsoft.com
kubectl delete crd kafkas.arcdata.microsoft.com
kubectl delete crd otelcollectors.arcdata.microsoft.com
## Delete Cluster roles and Cluster role bindings
kubectl delete clusterrole arcdataservices-extension
kubectl delete clusterrole $mynamespace:cr-arc-metricsdc-reader
kubectl delete clusterrole $mynamespace:cr-arc-dc-watch
kubectl delete clusterrole cr-arc-webhook-job
kubectl delete clusterrole $mynamespace:cr-upgrade-worker
kubectl delete clusterrolebinding $mynamespace:crb-arc-metricsdc-reader
kubectl delete clusterrolebinding $mynamespace:crb-arc-dc-watch
kubectl delete clusterrolebinding crb-arc-webhook-job
kubectl delete clusterrolebinding $mynamespace:crb-upgrade-worker
## API services Up to May 2021 release
kubectl delete apiservice v1alpha1.arcdata.microsoft.com
kubectl delete apiservice v1alpha1.sql.arcdata.microsoft.com
## June 2021 release
kubectl delete apiservice v1beta1.arcdata.microsoft.com
kubectl delete apiservice v1beta1.sql.arcdata.microsoft.com
## GA/July 2021 release
kubectl delete apiservice v1.arcdata.microsoft.com
kubectl delete apiservice v1.sql.arcdata.microsoft.com
## Delete mutatingwebhookconfiguration
kubectl delete mutatingwebhookconfiguration arcdata.microsoft.com-webhook-$mynamespace
Vous pouvez également supprimer l’espace de noms comme suit :
kubectl delete namespace <name of namespace>
## Example:
kubectl delete namespace arc
Vérifier que tous les objets sont supprimés
- Exécutez
kubectl get crd
et assurez-vous qu’aucun résultat ne contient*.arcdata.microsoft.com
. - Exécutez
kubectl get clusterrole
et assurez-vous qu’aucun rôle de cluster n’a le format<namespace>:cr-*
. - Exécutez
kubectl get clusterrolebindings
et assurez-vous qu’aucune liaison de rôle de cluster n’a le format<namespace>:crb-*
.