Compartir a través de


Desinstalación de servicios de datos habilitados para Azure Arc

En este artículo se describe cómo eliminar de Azure recursos del servicio de datos habilitado para Azure Arc.

Advertencia

Al eliminar recursos como se describe en este artículo, estas acciones son irreversibles.

La implementación de servicios de datos habilitados para Azure Arc implica implementar un controlador de datos de Azure Arc e instancias de servicios de datos de SQL Managed Instance o el servidor de PostgreSQL habilitados para Azure Arc. La implementación crea varios artefactos, por ejemplo:

  • Definiciones de recursos personalizados (CRD)
  • Roles de clúster
  • Enlaces de rol de clúster
  • Servicios de API
  • Espacio de nombres, si no existía antes

En el modo de conexión directa, hay artefactos adicionales, por ejemplo:

  • Extensiones de clúster
  • Ubicaciones personalizadas

Antes

Antes de eliminar un recurso, como SQL Managed Instance habilitado para Azure Arc o un controlador de datos, asegúrese de completar primero las siguientes acciones:

  1. En el caso de un controlador de datos conectado indirectamente, exporte y cargue la información de uso en Azure para que se realice un cálculo preciso de la facturación, siguiendo las instrucciones que se describen en Carga de datos de facturación en Azure: modo de conexión indirecta.

  2. Asegúrese de que todos los servicios de datos que se han creado en el controlador de datos se desinstalen como se describe a continuación:

Después de eliminar las instancias existentes de SQL Managed Instance habilitado para Azure Ar o el servidor de PostgreSQL habilitado para Azure Arc, elimine el controlador de datos mediante uno de los métodos adecuados para el modo de conectividad.

Nota:

Si ha implementado el controlador de datos en el modo de conexión directa, siga los pasos de una de estas dos secciones:

Si ha implementado el controlador de datos en el modo de conexión indirecta, siga los pasos de Eliminación de un controlador de datos en el modo de conexión indirecta.

Eliminación de un controlador de datos en el modo de conexión directa mediante Azure Portal

Desde Azure Portal:

  1. Vaya al grupo de recursos y elimine el controlador de datos.
  2. Seleccione el clúster de Kubernetes habilitado para Azure Arc y vaya a la página de información general.
    • En Configuración, seleccione Extensiones.
    • En la página "Extensiones", seleccione la extensión de servicios de datos de Azure Arc (de tipo microsoft.arcdataservices) y haga clic en Desinstalar.
  3. También puede eliminar la ubicación personalizada en la que se ha implementado el controlador de datos.
  4. Como alternativa, también puede eliminar el espacio de nombres en el clúster de Kubernetes si no se ha creado ningún otro recurso en el espacio de nombres.

Consulte Administración de recursos de Azure con Azure Portal.

Eliminación de un controlador de datos en el modo de conexión directa mediante la CLI de Azure

Para eliminar el controlador de datos en el modo de conexión directa mediante la CLI de Azure, siga estos tres pasos:

  1. Eliminación del controlador de datos
  2. Eliminación de la extensión de controlador de datos
  3. Eliminación de la ubicación personalizada

Eliminación del controlador de datos

Después de conectarse al clúster de Kubernetes, ejecute el siguiente comando para eliminar el controlador de datos:

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

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

Eliminación de la extensión de controlador de datos

Después de eliminar el controlador de datos, elimine la extensión del controlador como se describe a continuación. Para obtener el nombre de la extensión del controlador de datos de Arc, vaya a la página "Información general" del clúster conectado en Azure Portal y busque en la pestaña "Extensiones". También puede usar el siguiente comando para obtener una lista de todas las extensiones del clúster:

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

Una vez que tenga el nombre de la extensión del controlador de datos de Arc, elimínelo ejecutando:

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 

Espere unos minutos a que se completen las acciones anteriores. Asegúrese de que el controlador de datos se elimine ejecutando el siguiente comando para comprobar su estado:

kubectl get datacontrollers -A

Eliminación de la ubicación personalizada

Si no hay ninguna otra extensión asociada a esta ubicación personalizada, continúe con la eliminación de la ubicación como se muestra a continuación:

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

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

Eliminación del controlador de datos en el modo de conexión indirecta

Por definición, con una implementación de controlador de datos de conexión indirecta, Azure Portal desconoce el clúster de Kubernetes. Por lo tanto, debe eliminar el controlador de datos en el clúster de Kubernetes y en Azure Portal en dos pasos.

  1. Eliminación de un controlador de datos en el modo de conexión indirecta desde el clúster
  2. Eliminación de un controlador de datos en el modo de conexión indirecta desde Azure Portal

Eliminación de un controlador de datos en el modo de conexión indirecta desde el clúster

Para eliminar el controlador de datos en el clúster de Kubernetes, ejecute el siguiente comando:

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

Eliminación del controlador de datos en el modo de conexión indirecta desde Azure Portal

En Azure Portal, vaya al grupo de recursos que contiene el controlador de datos y elimínelo.

Eliminación de artefactos de clúster de Kubernetes

Una vez que haya eliminado el controlador de datos como se ha descrito anteriormente, siga los pasos que figuran a continuación para eliminar por completo todos los artefactos relacionados con servicios de datos habilitados para Azure Arc. Puede que sea necesario eliminar todos los artefactos si tiene una implementación parcial o con errores, o bien si simplemente desea volver a instalar servicios de datos habilitados para 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

También puede eliminar el espacio de nombres como se muestra a continuación:

kubectl delete namespace <name of namespace>

## Example:
kubectl delete namespace arc

Comprobación de la eliminación de todos los objetos

  1. Ejecute kubectl get crd y asegúrese de que no haya resultados que contenga *.arcdata.microsoft.com.
  2. Ejecute kubectl get clusterrole y asegúrese de que no haya roles de clúster con el formato <namespace>:cr-*.
  3. Ejecute kubectl get clusterrolebindings y asegúrese de que no haya enlaces de rol de clúster con el formato <namespace>:crb-*.