Disinstallare i servizi dati abilitati per Azure Arc
Questo articolo illustra come eliminare le risorse del servizio dati abilitato per Azure Arc da Azure.
Avviso
Quando si eliminano le risorse come descritto in questo articolo, queste azioni sono irreversibili.
La distribuzione di servizi dati abilitati per Azure Arc prevede la distribuzione di un controller dei dati di Azure Arc e istanze di Istanza gestita di SQL abilitate da Azure Arc o del server PostgresQL abilitato per Azure Arc. La distribuzione crea diversi artefatti, ad esempio:
- Definizioni di risorse personalizzate
- Ruoli del cluster
- Associazioni di ruoli del cluster
- Servizi API
- Spazio dei nomi, se inesistente
In modalità di connessione diretta sono disponibili elementi aggiuntivi, ad esempio:
- Estensioni dei cluster
- Località personalizzate
Prima
Prima di eliminare una risorsa, ad esempio Istanza gestita di SQL abilitata da Azure Arc o il controller dei dati, assicurarsi di completare prima le azioni seguenti:
Per un controller dei dati connesso indirettamente, esportare e caricare le informazioni di utilizzo in Azure per un calcolo accurato della fatturazione seguendo le istruzioni descritte in Caricare i dati di fatturazione in Azure - Modalità di connessione indiretta.
Verificare che tutti i servizi dati creati nel controller dei dati vengano disinstallati come descritto in:
Dopo aver eliminato tutte le istanze esistenti di Istanza gestita di SQL abilitata da Azure Arc e/o il server PostgreSQL abilitato per Azure Arc, eliminare il controller dei dati usando uno dei metodi appropriati per la modalità di connessione.
Nota
Se il controller dei dati è stato distribuito con la modalità di connessione diretta, eseguire questa procedura per:
- Eliminare il controller dei dati in modalità di connessione diretta tramite il portale di Azure o
- Eliminare il controller dei dati in modalità di connessione diretta tramite l'interfaccia della riga di comando di Azure e quindi eliminare il controller dei dati dal portale di Azure o dall'interfaccia della riga di comando e quindi (2) eliminare gli artefatti del cluster Kubernetes.
Se il controller dei dati è stato distribuito con la modalità di connessione indiretta, eseguire la procedura per eliminare il controller dei dati in modalità di connessione indiretta.
Eliminare il controller dei dati in modalità di connessione diretta tramite il portale di Azure
Dal portale di Azure:
- Passare al gruppo di risorse ed eliminare il controller dei dati.
- Selezionare il cluster Kubernetes abilitato per Azure Arc, passare alla pagina Informazioni generali:
- Selezionare Estensioni in Impostazioni.
- Nella pagina Estensioni, selezionare l'estensione dei servizi dati di Azure Arc (di tipo
microsoft.arcdataservices
) e selezionare Disinstalla
- Facoltativamente, eliminare il percorso personalizzato in cui è distribuito il controller dei dati.
- Facoltativamente, è anche possibile eliminare lo spazio dei nomi nel cluster Kubernetes se non sono presenti altre risorse create nello spazio dei nomi.
Consultare Gestire le risorse di Azure usando il portale di Azure.
Eliminare il controller dei dati in modalità di connessione diretta tramite l'interfaccia della riga di comando di Azure
Per eliminare il controller dei dati in modalità di connessione diretta tramite l'interfaccia della riga di comando di Azure, è necessario eseguire tre passaggi:
- Eliminare il controller dei dati
- Eliminare l'estensione del controller dei dati
- Eliminare la posizione personalizzata
Eliminare il controller dei dati
Dopo la connessione al cluster Kubernetes, eseguire il comando seguente per eliminare il controller dei dati:
az arcdata dc delete --name <name of datacontroller> --resource-group <name of resource-group>
## Example
az arcdata dc delete --name arcdc --resource-group myrg
Eliminare l'estensione del controller dei dati
Dopo aver eliminato il controller dei dati, eliminare la relativa estensione come descritto di seguito. Per ottenere il nome dell'estensione del controller dei dati di Azure Arc, è possibile passare alla pagina Informazioni generali del cluster connesso nel portale di Azure e controllare nella scheda Estensioni oppure usare il comando seguente per ottenere l'elenco di tutte le estensioni nel 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
Dopo aver ottenuto il nome dell'estensione del controller dei dati di Azure Arc, eliminarlo eseguendo:
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
Attendere il completamento delle azioni precedenti per alcuni minuti. Assicurarsi che il controller dei dati venga eliminato eseguendo il comando seguente per verificare lo stato:
kubectl get datacontrollers -A
Eliminare la posizione personalizzata
Se non sono presenti altre estensioni associate a questo percorso personalizzato, procedere con l'eliminazione del percorso personalizzato come indicato di seguito:
az customlocation delete --name <Name of customlocation> --resource-group <Name of resource group>
## Example
az customlocation delete --name myCL --resource-group myrg
Eliminare un controller dei dati in modalità di connessione indiretta
Per definizione, con una distribuzione del controller dei dati connesso indirettamente, il portale di Azure non rileva il cluster Kubernetes. Di conseguenza, per eliminare il controller dei dati, è necessario eliminarlo nel cluster Kubernetes e nel portale di Azure in due passaggi.
- Eliminare il controller dei dati in modalità di connessione indiretta dal cluster
- Eliminare il controller dei dati in modalità di connessione indiretta dal portale di Azure
Eliminare un controller dei dati in modalità di connessione indiretta dal cluster
Eliminare il controller dei dati dal cluster Kubernetes eseguendo il comando seguente:
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
Eliminare il controller dei dati in modalità di connessione indiretta dal portale di Azure
Dal portale di Azure passare al gruppo di risorse contenente il controller dei dati ed eliminarlo.
Eliminare gli artefatti del cluster Kubernetes
Dopo aver eliminato il controller dei dati come descritto in precedenza, eseguire questa procedura per rimuovere completamente tutti gli artefatti correlati ai servizi dati abilitati per Azure Arc. La rimozione di tutti gli artefatti potrebbe essere necessaria in situazioni in cui è presente una distribuzione parziale o non riuscita o semplicemente si vuole reinstallare i servizi dati abilitati per 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
Facoltativamente, eliminare anche lo spazio dei nomi come indicato di seguito:
kubectl delete namespace <name of namespace>
## Example:
kubectl delete namespace arc
Verificare che tutti gli oggetti siano stati eliminati
- Eseguire
kubectl get crd
e verificare che non siano presenti risultati contenenti*.arcdata.microsoft.com
. - Eseguire
kubectl get clusterrole
e verificare che non siano presenti ruoli cluster nel formato<namespace>:cr-*
. - Eseguire
kubectl get clusterrolebindings
e verificare che non siano presenti associazioni di ruoli cluster nel formato<namespace>:crb-*
.