Bagikan melalui


Menghapus server PostgreSQL dengan dukungan Azure Arc

Dokumen ini menjelaskan langkah-langkah untuk menghapus server dari penyiapan Azure Arc Anda.

Catatan

Sebagai fitur pratinjau, teknologi yang tersaji dalam artikel ini tunduk pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Pembaruan terbaru tersedia dalam catatan rilis.

Menghapus server

Sebagai contoh, mari kita pertimbangkan kita ingin menghapus instans postgres01 dari pengaturan di bawah ini:

az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name        State  
----------  -------
postgres01  Ready  

Format umum perintah hapus adalah:

az postgres server-arc delete -n <server name> --k8s-namespace <namespace> --use-k8s

Ketika Anda menjalankan perintah ini, Anda akan diminta untuk mengonfirmasi penghapusan server. Jika Anda menggunakan skrip untuk mengotomatiskan penghapusan, Anda harus menggunakan parameter --paksa untuk melewati permintaan konfirmasi. Misalnya, Anda akan menjalankan perintah seperti:

az postgres server-arc delete -n <server name> --force --k8s-namespace <namespace> --use-k8s

Untuk detail selengkapnya tentang perintah hapus, jalankan:

az postgres server-arc delete --help 

Hapus server yang digunakan dalam contoh ini

az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s

Reklamasi Klaim Volume Persisten Kube (PVC)

PersistentVolumeClaim (PVC) adalah permintaan penyimpanan oleh pengguna dari kluster Kubernetes saat membuat dan menambahkan penyimpanan ke server PostgreSQL. Menghapus grup server tidak menghapus PVC terkait. Ini memang disengaja. Tujuannya adalah untuk membantu pengguna untuk mengakses file database jika penghapusan instans tidak disengaja. Menghapus PVC tidak wajib. Namun disarankan. Jika Anda tidak mengklaim ulang PVC ini, Anda akhirnya akan mengalami kesalahan karena kluster Kubernetes Anda akan berpikir kehabisan ruang disk atau penggunaan nama server PostgreSQL yang sama saat membuat yang baru dapat menyebabkan inkonsistensi. Untuk mengklaim kembali PVC, lakukan langkah-langkah berikut:

1. Daftar PVC untuk grup server yang Anda hapus

Untuk mencantumkan PVC, jalankan perintah ini:

kubectl get pvc [-n <namespace name>]

Ini mengembalikan daftar PVC, khususnya PVC untuk grup server yang Anda hapus. Contohnya:

kubectl get pvc
NAME                                         STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-72ccc225-dad0-4dee-8eae-ed352be847aa   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-ce6f0c51-faed-45ae-9472-8cdf390deb0d   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-5a863ab9-522a-45f3-889b-8084c48c32f8   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-00e1ace3-1452-434f-8445-767ec39c23f2   5Gi        RWO            default        2d15h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-8b810f4c-d72a-474a-a5d7-64ec26fa32de   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-51d1e91b-08a9-4b6b-858d-38e8e06e60f9   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-8e5ad55e-300d-4353-92d8-2e383b3fe96e   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-f9e4cb98-c943-45b0-aa07-dd5cff7ea585   5Gi        RWO            default        2d15h

Ada 8 PVC untuk grup server ini.

2. Hapus masing-masing PVC

Hapus data dan PVC log untuk server PostgreSQL yang Anda hapus.

Format umum perintahnya adalah:

kubectl delete pvc <name of pvc>  [-n <namespace name>]

Contohnya:

kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-3
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-3

Masing-masing perintah kubectl ini akan mengonfirmasi keberhasilan penghapusan PVC. Contoh:

persistentvolumeclaim "data-postgres01-0" deleted

Catatan

Seperti yang ditunjukkan, tidak menghapus PVC pada akhirnya mungkin mendapatkan kluster Kubernetes Anda dalam situasi di mana ia akan melemparkan kesalahan. Beberapa kesalahan ini mungkin termasuk tidak dapat membuat, membaca, memperbarui, menghapus sumber daya dari API Kubernetes, atau dapat menjalankan perintah seperti az arcdata dc export karena pod pengontrol mungkin dapat dikeluarkan dari simpul Kubernetes karena masalah penyimpanan ini (perilaku Kubernetes normal).

Misalnya, Anda mungkin melihat pesan dalam log yang mirip dengan:

Annotations:    microsoft.com/ignore-pod-health: true  
Status:         Failed  
Reason:         Evicted  
Message:        The node was low on resource: ephemeral-storage. Container controller was using 16372Ki, which exceeds its request of 0.

Langkah selanjutnya

Membuat server PostgreSQL dengan dukungan Azure Arc