Azure Arc 지원 데이터 서비스 제거
이 문서에서는 Azure에서 Azure Arc 지원 데이터 서비스 리소스를 삭제하는 방법을 설명합니다.
Warning
이 문서에 설명된 대로 리소스를 삭제하면 이러한 작업은 되돌릴 수 없습니다.
Azure Arc 지원 데이터 서비스 배포에는 Azure Arc 데이터 컨트롤러 및 데이터 서비스 Azure Arc 지원 SQL Managed Instance 또는 Azure Arc 지원 PostgresQL 서버 인스턴스 배포가 포함됩니다. 배포는 다음과 같은 여러 아티팩트를 만듭니다.
- CRD(사용자 지정 리소스 정의)
- 클러스터 역할
- 클러스터 역할 바인딩
- API 서비스
- 네임스페이스(이전에 존재하지 않은 경우)
직접 연결 모드에는 다음과 같은 추가 아티팩트가 있습니다.
- 클러스터 확장
- 사용자 지정 위치
이전
Azure Arc 지원 SQL Managed Instance 또는 데이터 컨트롤러와 같은 리소스를 삭제하기 전에 먼저 다음 작업을 완료해야 합니다.
간접적으로 연결된 데이터 컨트롤러의 경우 Azure에 청구 데이터 업로드 - 간접 연결 모드에 설명된 지침에 따라 정확한 청구 계산을 위해 사용량 정보를 Azure로 내보내고 업로드합니다.
데이터 컨트롤러에 만들어진 모든 데이터 서비스가 다음에 설명된 대로 제거되었는지 확인합니다.
Azure Arc 지원 SQL Managed Instances 및/또는 Azure Arc 지원 PostgreSQL 서버의 기존 인스턴스를 삭제한 후 적절한 연결 모드 방법 중 하나를 사용하여 데이터 컨트롤러를 삭제합니다.
참고 항목
데이터 컨트롤러를 직접 연결 모드로 배포한 경우 다음 단계를 따릅니다.
- Azure Portal을 사용하여 직접 연결된 모드에서 데이터 컨트롤러를 삭제하거나
- Azure CLI를 사용하여 직접 연결된 모드에서 데이터 컨트롤러를 삭제한 다음 Azure Portal 또는 CLI에서 데이터 컨트롤러를 삭제한 다음(2) Kubernetes 클러스터 아티팩트를 삭제합니다.
간접 연결 모드에서 데이터 컨트롤러를 배포한 경우 간접 연결 모드에서 데이터 컨트롤러 삭제 단계를 따릅니다.
Azure Portal을 사용하여 직접 연결된 모드에서 데이터 컨트롤러 삭제
Azure Portal에서:
- 리소스 그룹을 찾아 데이터 컨트롤러를 삭제합니다.
- Azure Arc 지원 Kubernetes 클러스터를 선택하고 개요 페이지로 이동합니다.
- 설정에서 확장을 선택합니다.
- 확장 페이지에서 Azure Arc 데이터 서비스 확장(
microsoft.arcdataservices
형식)을 선택하고 제거를 선택합니다.
- 필요에 따라 데이터 컨트롤러가 배포된 사용자 지정 위치를 삭제합니다.
- 필요에 따라 네임스페이스에 만들어진 다른 리소스가 없는 경우 Kubernetes 클러스터에서 네임스페이스를 삭제할 수도 있습니다.
Azure Portal을 사용하여 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 Portal에서 연결된 클러스터의 개요 페이지로 이동하고 확장 탭 아래를 보거나 아래 명령을 사용하여 클러스터의 모든 확장 목록을 가져올 수 있습니다.
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 Portal은 Kubernetes 클러스터를 인식하지 못합니다. 따라서 데이터 컨트롤러를 삭제하려면 Kubernetes 클러스터와 Azure Portal에서 두 단계로 삭제해야 합니다.
클러스터에서 간접 연결 모드의 데이터 컨트롤러 삭제
다음 명령을 실행하여 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 Portal에서 간접 연결 모드로 데이터 컨트롤러 삭제
Azure Portal에서 데이터 컨트롤러가 포함된 리소스 그룹을 찾아 삭제합니다.
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-*
형식의 클러스터 역할 바인딩이 없는지 확인합니다.