Azure Arc özellikli PostgreSQL sunucusunu silme
Bu belgede, Azure Arc kurulumunuzdan bir sunucuyu silme adımları açıklanmaktadır.
Not
Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'na tabidir.
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. Örneğin:
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>]
Örneğin:
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. Örneğin:
persistentvolumeclaim "data-postgres01-0" deleted
Not
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.