Dela via


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:

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

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

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:

  1. Bläddra till resursgruppen och ta bort datakontrollanten.
  2. 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
  3. Du kan också ta bort den anpassade plats som datakontrollanten distribueras till.
  4. 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:

  1. Ta bort datakontrollanten
  2. Ta bort datakontrollanttillägget
  3. Ta bort den anpassade platsen

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.

  1. Ta bort datakontrollant i indirekt anslutet läge från kluster
  2. 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

  1. Kör kubectl get crd och se till att det inte finns några resultat som innehåller *.arcdata.microsoft.com.
  2. Kör kubectl get clusterrole och se till att det inte finns några klusterroller i formatet <namespace>:cr-*.
  3. Kör kubectl get clusterrolebindings och se till att det inte finns några klusterrollbindningar i formatet <namespace>:crb-*.