Condividi tramite


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:

  1. 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.

  2. 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:

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:

  1. Passare al gruppo di risorse ed eliminare il controller dei dati.
  2. 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
  3. Facoltativamente, eliminare il percorso personalizzato in cui è distribuito il controller dei dati.
  4. 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:

  1. Eliminare il controller dei dati
  2. Eliminare l'estensione del controller dei dati
  3. 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.

  1. Eliminare il controller dei dati in modalità di connessione indiretta dal cluster
  2. 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

  1. Eseguire kubectl get crd e verificare che non siano presenti risultati contenenti *.arcdata.microsoft.com.
  2. Eseguire kubectl get clusterrole e verificare che non siano presenti ruoli cluster nel formato <namespace>:cr-*.
  3. Eseguire kubectl get clusterrolebindings e verificare che non siano presenti associazioni di ruoli cluster nel formato <namespace>:crb-*.