Share via


Deinstallieren von Datendiensten mit Azure Arc-Unterstützung

In diesem Artikel wird beschrieben, wie Sie Ressourcen von Azure Arc-fähigen Datendiensten aus Azure löschen.

Warnung

Wenn Sie Ressourcen wie in diesem Artikel beschrieben löschen, können diese Aktionen nicht rückgängig gemacht werden.

Die Bereitstellung von Azure Arc-aktivieren Datendiensten umfasst die Bereitstellung eines Azure Arc Data Controllers und von Instanzen der Datendienste verwalteten SQL-Instanz, die durch Azure Arc oder Azure Arc-aktivierte PostgresQL-Server aktiviert werden. Bei der Bereitstellung werden mehrere Artefakte erstellt, z. B.:

  • Benutzerdefinierte Ressourcendefinitionen (Custom Resource Definitions, CRDs)
  • Clusterrollen
  • Clusterrollenbindungen
  • API-Dienste
  • Namespace, wenn er noch nicht vorhanden war

Im direkt verbundenen Modus gibt es zusätzliche Artefakte wie:

  • Clustererweiterungen
  • Benutzerdefinierte Standorte

Vorher

Bevor Sie eine Ressource wie eine von Azure Arc oder Data Controller aktivierte verwaltete SQL-Instanz löschen, stellen Sie sicher, dass Sie zunächst die folgenden Aktionen durchführen:

  1. Exportieren Sie für einen indirekt verbundenen Datencontroller die Nutzungsinformationen für eine genaue Abrechnungsberechnung, und laden Sie sie in Azure hoch, indem Sie die Anweisungen unter Hochladen von Abrechnungsdaten in Azure – Indirekt verbundener Modus befolgen.

  2. Stellen Sie sicher, dass alle Datendienste, die auf dem Datencontroller erstellt wurden, wie folgt beschrieben deinstalliert werden:

Nachdem Sie alle vorhandenen Instanzen von SQL Managed Instance mit Azure Arc-Aktivierung und/oder PostgreSQL-Server mit Azure Arc-Aktivierung gelöscht haben, löschen Sie den Datencontroller mithilfe einer der geeigneten Methoden für den Konnektivitätsmodus.

Hinweis

Wenn Sie den Datencontroller im direkt verbundenen Modus bereitgestellt haben, führen Sie die folgenden Schritte aus:

Wenn Sie den Datencontroller im indirekt verbundenen Modus bereitgestellt haben, führen Sie die Schritte zum Löschen des Datencontrollers im indirekt verbundenen Modus aus.

Löschen des Datencontrollers im direkt verbundenen Modus über das Azure-Portal

Über das Azure-Portal:

  1. Navigieren Sie zur Ressourcengruppe, und löschen Sie den Datencontroller.
  2. Wählen Sie den Kubernetes-Cluster mit Azure Arc-Unterstützung aus, und wechseln Sie zur Seite „Übersicht“:
    • Wählen Sie unter „Einstellungen“ die Option Erweiterungen aus.
    • Wählen Sie auf der Seite „Erweiterungen“ die Erweiterung für Datendienste mit Azure Arc-Unterstützung (vom Typ microsoft.arcdataservices) aus, und wählen Sie Deinstallieren aus.
  3. Löschen Sie optional den benutzerdefinierten Speicherort, an dem der Datencontroller bereitgestellt wurde.
  4. Optional können Sie optional auch den Namespace in Ihrem Kubernetes-Cluster löschen, wenn in dem Namespace keine anderen Ressourcen erstellt werden.

Siehe Verwalten von Azure-Ressourcen über das Azure-Portal.

Löschen des Datencontrollers im direkt verbundenen Modus über die Azure CLI

Um den Datencontroller im direkt verbundenen Modus mit der Azure CLI zu löschen, gibt es drei Schritte:

  1. Den Datencontroller löschen
  2. Die Datencontrollererweiterung löschen
  3. Benutzerdefinierten Speicherort löschen

Den Datencontroller löschen

Führen Sie nach dem Herstellen einer Verbindung mit Ihrem Kubernetes-Cluster den folgenden Befehl aus, um den Datencontroller zu löschen:

az arcdata dc delete --name <name of datacontroller> --resource-group <name of resource-group>

## Example
az arcdata dc delete --name arcdc --resource-group myrg

Die Datencontrollererweiterung löschen

Nachdem Sie den Datencontroller gelöscht haben, löschen Sie die Datencontrollererweiterung wie unten beschrieben. Um den Namen der Arc-Datencontrollererweiterung abzurufen, können Sie entweder zur Seite „Übersicht“ Ihres verbundenen Clusters im Azure-Portal wechseln und auf der Registerkarte „Erweiterungen“ danach suchen oder den folgenden Befehl verwenden, um eine Liste aller Erweiterungen im Cluster abzurufen:

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

Sobald Sie über den Namen der Arc-Datencontrollererweiterung verfügen, löschen Sie sie, indem Sie Folgendes ausführen:

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 

Warten Sie einige Minuten, bis die oben genannten Aktionen abgeschlossen sind. Stellen Sie sicher, dass der Datencontroller gelöscht wurde, indem Sie den folgenden Befehl ausführen, um den Status zu überprüfen:

kubectl get datacontrollers -A

Benutzerdefinierten Speicherort löschen

Wenn diesem benutzerdefinierten Speicherort keine weiteren Erweiterungen zugeordnet sind, fahren Sie fort, und löschen Sie den benutzerdefinierten Speicherort wie folgt:

az customlocation delete --name <Name of customlocation> --resource-group <Name of resource group>

## Example
az customlocation delete --name myCL --resource-group myrg

Löschen des Datencontrollers im indirekt verbundenen Modus

Definitionsgemäß ist bei einer indirekt verbundenen Datencontrollerbereitstellung Ihr Kubernetes-Cluster im Azure-Portal nicht bekannt. Daher müssen Sie den Datencontroller in zwei Schritten im Kubernetes-Cluster und im Azure-Portal löschen.

  1. Löschen des Datencontrollers im indirekt verbundenen Modus aus dem Cluster
  2. Löschen des Datencontrollers im indirekt verbundenen Modus im Azure-Portal

Löschen des Datencontrollers im indirekt verbundenen Modus aus dem Cluster

Löschen Sie den Datencontroller aus dem Kubernetes-Cluster, indem Sie den folgenden Befehl ausführen:

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

Löschen des Datencontrollers im indirekt verbundenen Modus im Azure-Portal

Navigieren Sie im Azure-Portal zu der Ressourcengruppe, die den Datencontroller enthält, und löschen Sie ihn.

Löschen von Kubernetes-Clusterartefakten

Nachdem Sie den Datencontroller wie oben beschrieben gelöscht haben, führen Sie die folgenden Schritte aus, um alle Artefakte im Zusammenhang mit Datendiensten mit Azure Arc-Unterstützung vollständig zu entfernen. Das Entfernen aller Artefakte kann in Situationen erforderlich sein, in denen Sie über eine teilweise oder fehlgeschlagene Bereitstellung verfügen oder einfach die Datendienste mit Azure Arc-Unterstützung neu installieren möchten.

## 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

Löschen Sie optional auch den Namespace wie folgt:

kubectl delete namespace <name of namespace>

## Example:
kubectl delete namespace arc

Überprüfen, ob alle Objekte gelöscht wurden

  1. Führen Sie kubectl get crd aus, und stellen Sie sicher, dass keine Ergebnisse vorhanden sind, die *.arcdata.microsoft.com enthalten.
  2. Führen Sie kubectl get clusterrole aus, und stellen Sie sicher, dass keine Clusterrollen im Format <namespace>:cr-* vorhanden sind.
  3. Führen Sie kubectl get clusterrolebindings aus, und stellen Sie sicher, dass keine Clusterrollenbindungen im Format <namespace>:crb-* vorhanden sind.