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:
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.
Certifique-se de que todos os serviços de dados que foram criados no controlador de dados sejam desinstalados conforme descrito em:
- Excluir Instância Gerenciada SQL habilitada pelo Azure Arc
- Exclua um servidor PostgreSQL habilitado para Azure Arc.
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:
- Exclua o controlador de dados no modo conectado diretamente usando o portal do Azure ou
- Exclua o controlador de dados no modo conectado diretamente usando a CLI do Azure e, em seguida, exclua o controlador de dados do portal do Azure ou da CLI e, em seguida, (2) exclua artefatos de cluster do Kubernetes.
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:
- Navegue até o grupo de recursos e exclua o controlador de dados.
- 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
- Opcionalmente, exclua o local personalizado no qual o controlador de dados está implantado.
- 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:
- Excluir o controlador de dados
- Excluir a extensão do controlador de dados
- 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.
- Excluir controlador de dados no modo conectado indiretamente do cluster
- 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
- Execute
kubectl get crd
e certifique-se de que não há resultados contendo*.arcdata.microsoft.com
. - Execute
kubectl get clusterrole
e verifique se não há funções de cluster no formato<namespace>:cr-*
. - Execute
kubectl get clusterrolebindings
e verifique se não há associações de função de cluster no formato<namespace>:crb-*
.