Partilhar via


Desinstalar os serviços de dados habilitados para Azure Arc

Este artigo descreve como excluir recursos de serviço de dados habilitados para Azure Arc do Azure.

Aviso

Quando você exclui recursos conforme descrito neste artigo, essas ações são irreversíveis.

A implantação de serviços de dados habilitados para Azure Arc envolve a implantação de um controlador de dados do Azure Arc e instâncias de serviços de dados SQL Managed Instance habilitados pelo Azure Arc ou pelo servidor PostgresQL habilitado para Azure Arc. A implantação cria vários artefatos, como:

  • Definições de recursos personalizados (CRDs)
  • Funções de cluster
  • Associações de função de cluster
  • Serviços API
  • Namespace, se não existia antes

No modo diretamente conectado, há artefatos adicionais, como:

  • Extensões de cluster
  • Locais personalizados

Antes

Antes de excluir um recurso, como a Instância Gerenciada SQL habilitada pelo Azure Arc ou pelo controlador de dados, certifique-se de concluir as seguintes ações primeiro:

  1. Para um controlador de dados conectado indiretamente, exporte e carregue as informações de uso para o Azure para um cálculo de cobrança preciso seguindo as instruções descritas em Carregar dados de cobrança para o Azure - Modo conectado indiretamente.

  2. Certifique-se de que todos os serviços de dados que foram criados no controlador de dados sejam desinstalados conforme descrito em:

Depois de excluir quaisquer instâncias existentes da Instância Gerenciada do SQL habilitadas pelo Azure Arc e/ou pelo servidor PostgreSQL habilitado para Azure Arc, exclua o controlador de dados usando um dos métodos apropriados para o modo de conectividade.

Nota

Se você implantou o controlador de dados no modo conectado diretamente, siga as etapas para:

Se você implantou o controlador de dados no modo conectado indiretamente, siga as etapas para Excluir controlador de dados no modo conectado indiretamente.

Excluir controlador de dados no modo conectado diretamente usando o portal do Azure

No portal do Azure:

  1. Navegue até o grupo de recursos e exclua o controlador de dados.
  2. Selecione o cluster Kubernetes habilitado para Azure Arc, vá para a página Visão geral:
    • Selecione Extensões em Configurações
    • Na página Extensões, selecione a extensão de serviços de dados do Azure Arc (do tipo microsoft.arcdataservices) e selecione Desinstalar
  3. Opcionalmente, exclua o local personalizado no qual o controlador de dados está implantado.
  4. Opcionalmente, você também pode excluir o namespace no cluster do Kubernetes se não houver outros recursos criados no namespace.

Consulte Gerenciar recursos do Azure usando o portal do Azure.

Excluir controlador de dados no modo conectado diretamente usando a CLI do Azure

Para excluir o controlador de dados no modo conectado diretamente com a CLI do Azure, há três etapas:

  1. Excluir o controlador de dados
  2. Excluir a extensão do controlador de dados
  3. Excluir o local personalizado

Excluir o controlador de dados

Depois de se conectar ao cluster Kubernetes, execute o seguinte comando para excluir o controlador de dados:

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

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

Excluir a extensão do controlador de dados

Depois de excluir o controlador de dados, exclua a extensão do controlador de dados conforme descrito abaixo. Para obter o nome da extensão do controlador de dados Arc, você pode navegar até a página Visão geral do cluster conectado no portal do Azure e procurar na guia Extensões ou usar o comando abaixo para obter uma lista de todas as extensões no 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

Depois de ter o nome da extensão do controlador de dados Arc, exclua-a executando:

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 

Aguarde alguns minutos para que as ações acima sejam concluídas. Verifique se o controlador de dados foi excluído executando o comando abaixo para verificar o status:

kubectl get datacontrollers -A

Excluir o local personalizado

Se não houver outras extensões associadas a esse local personalizado, prossiga para excluir o local personalizado da seguinte maneira:

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

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

Excluir controlador de dados no modo conectado indiretamente

Por definição, com uma implantação de controlador de dados conectada indiretamente, o portal do Azure não tem conhecimento do cluster Kubernetes. Portanto, para excluir o controlador de dados, você precisa excluí-lo no cluster do Kubernetes, bem como no portal do Azure em duas etapas.

  1. Excluir controlador de dados no modo conectado indiretamente do cluster
  2. Excluir controlador de dados no modo conectado indiretamente do portal do Azure

Excluir controlador de dados no modo conectado indiretamente do cluster

Exclua o controlador de dados do cluster Kubernetes executando o seguinte 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

Excluir controlador de dados no modo conectado indiretamente do portal do Azure

No portal do Azure, navegue até o grupo de recursos que contém o controlador de dados e exclua.

Excluir artefatos de cluster do Kubernetes

Depois de excluir o controlador de dados conforme descrito acima, siga as etapas abaixo para remover completamente todos os artefatos relacionados aos serviços de dados habilitados para Azure Arc. A remoção de todos os artefatos pode ser necessária em situações em que você tenha uma implantação parcial ou com falha, ou simplesmente queira reinstalar os serviços de dados habilitados para Arco do Azure.

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

Opcionalmente, exclua também o namespace da seguinte maneira:

kubectl delete namespace <name of namespace>

## Example:
kubectl delete namespace arc

Verifique se todos os objetos foram excluídos

  1. Execute kubectl get crd e certifique-se de que não há resultados contendo *.arcdata.microsoft.com.
  2. Execute kubectl get clusterrole e verifique se não há funções de cluster no formato <namespace>:cr-*.
  3. Execute kubectl get clusterrolebindings e verifique se não há associações de função de cluster no formato <namespace>:crb-*.