Bagikan melalui


Menghapus instalan layanan data dengan dukungan Azure Arc

Artikel ini menjelaskan cara menghapus sumber daya layanan data berkemampuan Azure Arc dari Azure.

Peringatan

Saat Anda menghapus sumber daya seperti yang dijelaskan dalam artikel ini, tindakan ini tidak dapat dibatalkan.

Menyebarkan layanan data dengan dukungan Azure Arc melibatkan penyebaran pengontrol data Azure Arc dan instans layanan data SQL Managed Instance yang diaktifkan oleh server PostgresQL dengan dukungan Azure Arc atau Azure Arc. Penyebaran membuat beberapa artefak, seperti:

  • Definisi Sumber Daya Kustom (CRD)
  • Peran kluster
  • Pengikatan peran kluster
  • Layanan API
  • Namespace, jika tidak ada sebelumnya

Dalam mode terhubung langsung, ada artefak tambahan seperti:

  • Ekstensi kluster
  • Lokasi khusus

Sebelumnya

Sebelum Anda menghapus sumber daya seperti SQL Managed Instance yang diaktifkan oleh Azure Arc atau pengontrol data, pastikan Anda menyelesaikan tindakan berikut terlebih dahulu:

  1. Untuk pengontrol data yang terhubung secara tidak langsung, ekspor dan unggah informasi penggunaan ke Azure untuk perhitungan penagihan yang akurat dengan mengikuti instruksi yang dijelaskan dalam Mengunggah data penagihan ke Azure - Mode terhubung secara tidak langsung.

  2. Pastikan semua layanan data yang telah dibuat pada pengontrol data dihapus instalasinya seperti yang dijelaskan dalam:

Setelah menghapus instans SQL Managed Instance yang ada yang diaktifkan oleh server PostgreSQL dengan dukungan Azure Arc dan/atau Azure Arc, hapus pengontrol data menggunakan salah satu metode yang sesuai untuk mode konektivitas.

Catatan

Jika Anda menyebarkan pengontrol data dalam mode terhubung langsung, ikuti langkah-langkah untuk:

Jika Anda menyebarkan pengontrol data dalam mode terhubung secara tidak langsung, ikuti langkah-langkah untuk Menghapus pengontrol data dalam mode terhubung secara tidak langsung.

Menghapus pengontrol data dalam mode terhubung langsung menggunakan portal Azure

Dari portal Microsoft Azure:

  1. Telusuri ke grup sumber daya dan hapus pengontrol data.
  2. Pilih kluster Kubernetes dengan dukungan Azure Arc, buka halaman Gambaran Umum:
    • Pilih Ekstensi di bawah Pengaturan
    • Di halaman Ekstensi, pilih ekstensi layanan data Azure Arc (jenis microsoft.arcdataservices) dan pilih hapus instalan
  3. Secara opsional, hapus lokasi kustom tempat pengontrol data disebarkan.
  4. Secara opsional, Anda juga dapat menghapus namespace layanan kluster Kube Anda jika tidak ada sumber daya lain yang dibuat di namespace layanan.

Lihat Mengelola sumber daya Azure dengan menggunakan portal Microsoft Azure.

Menghapus pengontrol data dalam mode terhubung langsung menggunakan Azure CLI

Untuk menghapus pengontrol data dalam mode terhubung langsung dengan Azure CLI, ada tiga langkah:

  1. Menghapus pengontrol data
  2. Menghapus ekstensi pengontrol data
  3. Menghapus lokasi kustom

Menghapus pengontrol data

Setelah menyambungkan ke kluster Kubernetes, jalankan perintah berikut untuk menghapus pengontrol data:

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

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

Menghapus ekstensi pengontrol data

Setelah Anda menghapus pengontrol data, hapus ekstensi pengontrol data seperti yang dijelaskan di bawah ini. Untuk mendapatkan nama ekstensi pengontrol data Arc, Anda dapat menelusuri ke halaman Gambaran Umum kluster yang terhubung di portal Azure dan melihat di bawah tab Ekstensi atau menggunakan perintah di bawah ini untuk mendapatkan daftar semua ekstensi pada kluster:

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

Setelah Anda memiliki nama ekstensi pengontrol data Arc, hapus dengan menjalankan:

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 

Tunggu beberapa menit hingga tindakan di atas selesai. Pastikan pengontrol data dihapus dengan menjalankan perintah di bawah ini untuk memverifikasi status:

kubectl get datacontrollers -A

Menghapus lokasi kustom

Jika tidak ada ekstensi lain yang terkait dengan lokasi kustom ini, lanjutkan untuk menghapus lokasi kustom sebagai berikut:

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

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

Menghapus pengontrol data dalam mode tersambung secara tidak langsung

Menurut definisi, dengan penyebaran pengontrol data yang terhubung secara tidak langsung, portal Azure tidak menyadari kluster Kubernetes Anda. Oleh karena itu, untuk menghapus pengontrol data, Anda perlu menghapusnya di kluster Kubernetes serta portal Azure dalam dua langkah.

  1. Menghapus pengontrol data dalam mode terhubung secara tidak langsung dari kluster
  2. Menghapus pengontrol data dalam mode tersambung secara tidak langsung dari portal Azure

Menghapus pengontrol data dalam mode terhubung secara tidak langsung dari kluster

Hapus formulir pengontrol data kluster Kubernetes dengan menjalankan perintah berikut:

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

Menghapus pengontrol data dalam mode tersambung secara tidak langsung dari portal Azure

Dari portal Azure, telusuri ke grup sumber daya yang berisi pengontrol data, dan hapus.

Menghapus artefak kluster Kubernetes

Setelah menghapus pengontrol data seperti yang dijelaskan di atas, ikuti langkah-langkah di bawah ini untuk menghapus semua artefak yang terkait dengan layanan data dengan dukungan Azure Arc. Menghapus semua artefak dapat diperlukan dalam situasi di mana Anda memiliki penyebaran parsial atau gagal, atau hanya ingin menginstal ulang layanan data dengan dukungan 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

Secara opsional, hapus juga namespace sebagai berikut:

kubectl delete namespace <name of namespace>

## Example:
kubectl delete namespace arc

Memverifikasi bahwa semua objek dihapus

  1. Jalankan kubectl get crd dan pastikan tidak ada hasil yang berisi *.arcdata.microsoft.com.
  2. Jalankan kubectl get clusterrole dan pastikan tidak ada peran kluster dalam format <namespace>:cr-*.
  3. Jalankan kubectl get clusterrolebindings dan pastikan tidak ada pengikatan peran kluster dalam format <namespace>:crb-*.