Aracılığıyla paylaş


Azure Arc özellikli PostgreSQL sunucusunu silme

Bu belgede, Azure Arc kurulumunuzdan bir sunucuyu silme adımları açıklanmaktadır.

Dekont

Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'na tabidir.

En son güncelleştirmeler sürüm notlarında bulunur.

Sunucuyu silme

Örnek olarak, postgres01 örneğini aşağıdaki kurulumdan silmek istediğimizi düşünelim:

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

Delete komutunun genel biçimi:

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

Bu komutu yürütürken, sunucunun silinmesini onaylamanız istenir. Silmeleri otomatikleştirmek için betikler kullanıyorsanız onay isteğini atlamak için --force parametresini kullanmanız gerekir. Örneğin, aşağıdaki gibi bir komut çalıştırabilirsiniz:

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

Delete komutu hakkında daha fazla ayrıntı için şunu çalıştırın:

az postgres server-arc delete --help 

Bu örnekte kullanılan sunucuyu silin

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

Kubernetes Kalıcı Birim Taleplerini (PVC) geri kazanma

PersistentVolumeClaim (PVC), bir kullanıcının PostgreSQL sunucusu oluştururken ve bu sunucuya depolama eklerken Kubernetes kümesinden depolama isteğidir. Bir sunucu grubunun silinmesi, ilişkili PVC'lerini kaldırmaz. Bu tasarım gereğidir. Amacı, örneğin yanlışlıkla silinmesi durumunda kullanıcının veritabanı dosyalarına erişmesine yardımcı olmaktır. PVC’lerin silinmesi zorunlu değildir. Ancak bunun yapılması önerilir. Bu PVC'leri geri kazanmazsanız, Kubernetes kümenizin disk alanı yetersiz olduğunu veya yeni bir tane oluştururken aynı PostgreSQL sunucu adını kullanacağını düşünmesi tutarsızlıklara neden olabileceğinden hatalarla sonuçlanırsınız. PVC'leri geri kazanmak için aşağıdaki adımları izleyin:

1. Sildiğiniz sunucu grubunun PVC'lerini listeleme

PVC'leri listelemek için şu komutu çalıştırın:

kubectl get pvc [-n <namespace name>]

BDD'lerin listesini, özellikle de sildiğiniz sunucu grubunun PVC'lerini döndürür. Örnek:

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

Bu sunucu grubu için 8 PVC vardır.

2. PVC'lerin her birini silin

Sildiğiniz PostgreSQL sunucusunun verilerini ve günlük PVC'lerini silin.

Bu komutun genel biçimi:

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

Örnek:

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

Bu kubectl komutlarının her biri PVC'nin başarıyla silinmesini onaylar. Örnek olarak:

persistentvolumeclaim "data-postgres01-0" deleted

Dekont

Belirtildiği gibi, PVC'leri silmeden kubernetes kümeniz hata oluşturacak bir duruma gelebilir. Bu hatalardan bazıları Kubernetes API'sinden kaynak oluşturamama, okuma, güncelleştirme, silme veya bu depolama sorunu (normal Kubernetes davranışı) nedeniyle denetleyici podları Kubernetes düğümlerinden çıkarılabildiği gibi az arcdata dc export komutları çalıştıramamak olabilir.

Örneğin, günlüklerde şuna benzer iletiler görebilirsiniz:

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.

Sonraki adım

Azure Arc özellikli PostgreSQL sunucusu oluşturma