Удаление служб данных с поддержкой Azure Arc
В этой статье описывается удаление ресурсов службы данных с поддержкой Azure Arc из Azure.
Предупреждение
Приведенные в этой статье действия по удалению ресурсов являются необратимыми.
Развертывание служб данных с поддержкой Azure Arc включает развертывание контроллера данных Azure Arc и экземпляров служб данных, Управляемый экземпляр SQL включенных сервером PostgresQL с поддержкой Azure Arc или Azure Arc. Развертывание создает несколько артефактов, таких как:
- Пользовательские определения ресурсов (CRD)
- Роли кластера
- Привязки роли кластера
- Службы API
- Пространство имен, если оно не существовало раньше
В режиме непосредственного подключения существуют дополнительные артефакты, такие как:
- Расширения кластера
- Настраиваемые расположения
Перед
Прежде чем удалить ресурс, например Управляемый экземпляр SQL включен azure Arc или контроллером данных, сначала выполните следующие действия:
Для косвенно подключенного контроллера данных экспортируйте и отправьте сведения об использовании в Azure для точного вычисления выставления счетов, следуя инструкциям, описанным в разделе "Отправка данных о выставлении счетов в Azure" — косвенно подключенный режим.
Убедитесь, что все службы данных, создаваемые на контроллере данных, удаляются, как описано ниже.
- Удаление Управляемый экземпляр SQL включено Azure Arc
- Удалите сервер PostgreSQL с поддержкой Azure Arc.
После удаления всех существующих экземпляров Управляемый экземпляр SQL, включенных сервером PostgreSQL с поддержкой Azure Arc и (или) с поддержкой Azure Arc, удалите контроллер данных с помощью одного из соответствующих методов для режима подключения.
Примечание.
Если вы развернули контроллер данных непосредственно в подключенном режиме, выполните следующие действия.
- Удаление контроллера данных в режиме прямого подключения с помощью портал Azure или
- Удалите контроллер данных в режиме непосредственного подключения с помощью Azure CLI, а затем удалите контроллер данных из портал Azure или CLI, а затем (2) Удалите артефакты кластера Kubernetes.
Если вы развернули контроллер данных в косвенно подключенном режиме, выполните действия по удалению контроллера данных в косвенно подключенном режиме.
Удаление контроллера данных в режиме прямого подключения с помощью портал Azure
Из портал Azure:
- Перейдите к группе ресурсов и удалите контроллер данных.
- Выберите кластер Kubernetes с поддержкой Azure Arc, перейдите на страницу обзора:
- Выберите расширения в разделе "Параметры"
- На странице "Расширения" выберите расширение служб данных Azure Arc (типа
microsoft.arcdataservices
) и нажмите кнопку "Удалить"
- При необходимости удалите пользовательское расположение, в которое развернут контроллер данных.
- При необходимости можно также удалить пространство имен в кластере Kubernetes, если в пространстве имен отсутствуют другие ресурсы.
См. статью Управление ресурсами Azure с помощью портала Azure.
Удаление контроллера данных в режиме прямого подключения с помощью Azure CLI
Чтобы удалить контроллер данных в режиме непосредственного подключения к Azure CLI, выполните три действия.
- Удаление контроллера данных
- Удаление расширения контроллера данных
- Удаление настраиваемого расположения
Удаление контроллера данных
После подключения к кластеру Kubernetes выполните следующую команду, чтобы удалить контроллер данных:
az arcdata dc delete --name <name of datacontroller> --resource-group <name of resource-group>
## Example
az arcdata dc delete --name arcdc --resource-group myrg
Удаление расширения контроллера данных
После удаления контроллера данных удалите расширение контроллера данных, как описано ниже. Чтобы получить имя расширения контроллера данных Arc, можно перейти на страницу обзора подключенного кластера в портал Azure и просмотреть на вкладке "Расширения" или воспользоваться следующей командой, чтобы получить список всех расширений в кластере:
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
Получив имя расширения контроллера данных Arc, удалите его, выполнив следующую команду:
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
Подождите несколько минут до завершения указанных выше действий. Убедитесь, что контроллер данных удален, выполнив следующую команду, чтобы проверить состояние:
kubectl get datacontrollers -A
Удаление настраиваемого расположения
Если с этим пользовательским расположением нет других расширений, перейдите к удалению настраиваемого расположения следующим образом:
az customlocation delete --name <Name of customlocation> --resource-group <Name of resource group>
## Example
az customlocation delete --name myCL --resource-group myrg
Удаление контроллера данных в косвенно подключенном режиме
По определению, при косвенном развертывании контроллера данных портал Azure не знает о кластере Kubernetes. Поэтому для удаления контроллера данных необходимо удалить его в кластере Kubernetes, а также портал Azure в двух шагах.
- Удаление контроллера данных в косвенно подключенном режиме из кластера
- Удаление контроллера данных в косвенно подключенном режиме из портал Azure
Удаление контроллера данных в косвенно подключенном режиме из кластера
Удалите контроллер данных из кластера Kubernetes, выполнив следующую команду:
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
Удаление контроллера данных в косвенно подключенном режиме из портал Azure
В портал Azure перейдите к группе ресурсов, содержащей контроллер данных, и удалите ее.
Удаление артефактов кластера Kubernetes
После удаления контроллера данных, как описано выше, выполните приведенные ниже действия, чтобы полностью удалить все артефакты, связанные с службами данных с поддержкой Azure Arc. Удаление всех артефактов может потребоваться в ситуациях, когда у вас есть частичное или неудачное развертывание или просто требуется переустановить службы данных с поддержкой 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
При необходимости удалите пространство имен следующим образом:
kubectl delete namespace <name of namespace>
## Example:
kubectl delete namespace arc
Проверка удаления всех объектов
- Запустите
kubectl get crd
и убедитесь, что результаты не содержатся*.arcdata.microsoft.com
. - Запустите
kubectl get clusterrole
и убедитесь, что в формате<namespace>:cr-*
нет ролей кластера. - Запустите
kubectl get clusterrolebindings
и убедитесь, что привязки роли кластера отсутствуют в формате<namespace>:crb-*
.