Avinstallera Azure Arc-aktiverade datatjänster
Den här artikeln beskriver hur du tar bort Azure Arc-aktiverade datatjänstresurser från Azure.
Varning
När du tar bort resurser enligt beskrivningen i den här artikeln går de här åtgärderna inte att ångra.
Distribution av Azure Arc-aktiverade datatjänster innebär att distribuera en Azure Arc-datakontrollant och instanser av datatjänster SQL Managed Instance som aktiveras av Azure Arc eller Azure Arc-aktiverad PostgresQL-server. Distributionen skapar flera artefakter, till exempel:
- Anpassade resursdefinitioner (CRD)
- Klusterroller
- Klusterrollbindningar
- API-tjänster
- Namnområde, om det inte fanns tidigare
I direkt anslutet läge finns det ytterligare artefakter som:
- Klustertillägg
- Anpassade platser
Före
Innan du tar bort en resurs som SQL Managed Instance som aktiveras av Azure Arc eller datakontrollanten måste du utföra följande åtgärder först:
För en indirekt ansluten datakontrollant exporterar och laddar du upp användningsinformationen till Azure för korrekt faktureringsberäkning genom att följa anvisningarna i Ladda upp faktureringsdata till Azure – indirekt anslutet läge.
Se till att alla datatjänster som har skapats på datakontrollanten avinstalleras enligt beskrivningen i:
När du har tagit bort befintliga instanser av SQL Managed Instance som aktiverats av Azure Arc och/eller En Azure Arc-aktiverad PostgreSQL-server tar du bort datakontrollanten med hjälp av en lämplig metod för anslutningsläge.
Kommentar
Om du har distribuerat datastyrenheten i direkt anslutet läge följer du stegen för att:
- Ta bort datastyrenheten i direkt anslutet läge med hjälp av Azure Portal eller
- Ta bort datakontrollanten i direktanslutet läge med Azure CLI och ta sedan bort datakontrollanten från Azure Portal eller CLI och sedan (2) Ta bort Kubernetes-klusterartefakter.
Om du har distribuerat datastyrenheten i indirekt anslutet läge följer du stegen för att ta bort datastyrenheten i indirekt anslutet läge.
Ta bort datastyrenheten i direkt anslutet läge med hjälp av Azure Portal
Från Azure Portal:
- Bläddra till resursgruppen och ta bort datakontrollanten.
- Välj Det Azure Arc-aktiverade Kubernetes-klustret och gå till sidan Översikt:
- Välj tillägg under Inställningar
- På sidan Tillägg väljer du Azure Arc-datatjänsttillägget (av typen
microsoft.arcdataservices
) och väljer på Avinstallera
- Du kan också ta bort den anpassade plats som datakontrollanten distribueras till.
- Du kan också ta bort namnområdet i Kubernetes-klustret om det inte finns några andra resurser som skapats i namnområdet.
Se Hantera Azure-resurser med hjälp av Azure Portal.
Ta bort datakontrollant i direktanslutet läge med Azure CLI
Om du vill ta bort datastyrenheten i direkt anslutet läge med Azure CLI finns det tre steg:
Ta bort datakontrollanten
När du har anslutit till kubernetes-klustret kör du följande kommando för att ta bort datakontrollanten:
az arcdata dc delete --name <name of datacontroller> --resource-group <name of resource-group>
## Example
az arcdata dc delete --name arcdc --resource-group myrg
Ta bort datakontrollanttillägget
När du har tagit bort datakontrollanten tar du bort datakontrollanttillägget enligt beskrivningen nedan. Om du vill hämta namnet på arc-datastyrenhetstillägget kan du antingen bläddra till översiktssidan för det anslutna klustret i Azure Portal och titta under fliken Tillägg eller använda kommandot nedan för att hämta en lista över alla tillägg i klustret:
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
När du har namnet på Arc-datakontrollanttillägget tar du bort det genom att köra:
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
Vänta några minuter tills ovanstående åtgärder har slutförts. Kontrollera att datakontrollanten tas bort genom att köra kommandot nedan för att verifiera statusen:
kubectl get datacontrollers -A
Ta bort den anpassade platsen
Om det inte finns några andra tillägg som är associerade med den här anpassade platsen fortsätter du med att ta bort den anpassade platsen på följande sätt:
az customlocation delete --name <Name of customlocation> --resource-group <Name of resource group>
## Example
az customlocation delete --name myCL --resource-group myrg
Ta bort datakontrollant i indirekt anslutet läge
Per definition, med en indirekt ansluten datastyrenhetsdistribution, Azure Portal inte känner till ditt Kubernetes-kluster. För att kunna ta bort datakontrollanten måste du därför ta bort den i Kubernetes-klustret och Azure Portal i två steg.
- Ta bort datakontrollant i indirekt anslutet läge från kluster
- Ta bort datastyrenheten i indirekt anslutet läge från Azure Portal
Ta bort datakontrollant i indirekt anslutet läge från kluster
Ta bort datakontrollanten från Kubernetes-klustret genom att köra följande kommando:
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
Ta bort datastyrenheten i indirekt anslutet läge från Azure Portal
Från Azure Portal bläddrar du till resursgruppen som innehåller datakontrollanten och tar bort.
Ta bort Kubernetes-klusterartefakter
När du har raderat datakontrollanten enligt beskrivningen ovan följer du stegen nedan för att helt ta bort alla artefakter som är relaterade till Azure Arc-aktiverade datatjänster. Att ta bort alla artefakter kan behövas i situationer där du har en partiell eller misslyckad distribution, eller helt enkelt vill installera om Azure Arc-aktiverade datatjänster.
## 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
Du kan också ta bort namnområdet på följande sätt:
kubectl delete namespace <name of namespace>
## Example:
kubectl delete namespace arc
Kontrollera att alla objekt har tagits bort
- Kör
kubectl get crd
och se till att det inte finns några resultat som innehåller*.arcdata.microsoft.com
. - Kör
kubectl get clusterrole
och se till att det inte finns några klusterroller i formatet<namespace>:cr-*
. - Kör
kubectl get clusterrolebindings
och se till att det inte finns några klusterrollbindningar i formatet<namespace>:crb-*
.