Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, AKS'de dağıtılan bir PostgreSQL veritabanında çeşitli test ve doğrulama adımları gerçekleştirebilirsiniz. Buna dağıtımı doğrulama, veritabanına bağlanma ve yük devretme senaryolarını test etme dahildir.
- PostgreSQL'i henüz dağıtmadıysanız, ayarlamak için Azure CLI ile AKS'de yüksek oranda kullanılabilir bir PostgreSQL veritabanı dağıtma başlığındaki adımları izleyin ve ardından bu makaleye dönebilirsiniz.
Önemli
Aks belgeleri ve örnekleri boyunca açık kaynak yazılımdan bahsedilmektedir. Dağıttığınız yazılımlar AKS hizmet düzeyi sözleşmelerinin, sınırlı garantinin ve Azure desteği dışında tutulur. AKS ile birlikte açık kaynak teknolojisini kullanırken, bir plan geliştirmek için ilgili toplulukların ve proje bakımcılarının sağlanan destek seçeneklerine başvurun.
Microsoft, AKS'de dağıttığımız açık kaynak paketleri oluşturma sorumluluğunu üstlenir. Bu sorumluluk derleme, tarama, imzalama, doğrulama ve hataları düzeltme işleminin tam sahipliğini ve konteyner imajlarındaki ikili dosyalar üzerindeki denetimi içerir. Daha fazla bilgi için AKS için güvenlik açığı yönetimi ve AKS destek kapsamı sayfalarına bakın.
Dağıtılan PostgreSQL kümesini inceleme
komutunu kullanarak kubectl get AKS düğümü ayrıntılarını alarak PostgreSQL'in birden çok kullanılabilirlik alanına yayıldığını doğrulayın.
kubectl get nodes \
--context $AKS_PRIMARY_CLUSTER_NAME \
--namespace $PG_NAMESPACE \
--output json | jq '.items[] | {node: .metadata.name, zone: .metadata.labels."failure-domain.beta.kubernetes.io/zone"}'
Çıkışınız, her düğüm için gösterilen kullanılabilirlik alanıyla aşağıdaki örnek çıkışa benzemelidir:
{
"node": "aks-postgres-15810965-vmss000000",
"zone": "westus3-1"
}
{
"node": "aks-postgres-15810965-vmss000001",
"zone": "westus3-2"
}
{
"node": "aks-postgres-15810965-vmss000002",
"zone": "westus3-3"
}
{
"node": "aks-systempool-26112968-vmss000000",
"zone": "westus3-1"
}
{
"node": "aks-systempool-26112968-vmss000001",
"zone": "westus3-2"
}
PostgreSQL'e bağlanma ve örnek veri kümesi oluşturma
Bu bölümde bir tablo oluşturacak ve daha önce dağıttığınız CNPG Kümesi CRD'sinde oluşturulan uygulama veritabanına bazı veriler ekleyebilirsiniz. PostgreSQL kümesinin yedekleme ve geri yükleme işlemlerini doğrulamak için bu verileri kullanırsınız.
Aşağıdaki komutları kullanarak bir tablo oluşturun ve uygulama veritabanına veri ekleyin:
kubectl cnpg psql $PG_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACE-- Create a small dataset CREATE TABLE datasample (id INTEGER, name VARCHAR(255)); INSERT INTO datasample (id, name) VALUES (1, 'John'); INSERT INTO datasample (id, name) VALUES (2, 'Jane'); INSERT INTO datasample (id, name) VALUES (3, 'Alice'); SELECT COUNT(*) FROM datasample;bitirdiğinizde psql'den çıkmak için yazın
\q.Çıkışınız aşağıdaki örnek çıkışa benzemelidir:
CREATE TABLE INSERT 0 1 INSERT 0 1 INSERT 0 1 count ------- 3 (1 row)
PostgreSQL salt okunabilir replikalara bağlanma
PostgreSQL salt okunur çoğaltmalarına bağlanın ve aşağıdaki komutları kullanarak örnek veri kümesini doğrulayın:
kubectl cnpg psql --replica $PG_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACESELECT pg_is_in_recovery();Örnek çıkış
pg_is_in_recovery ------------------- t (1 row)SELECT COUNT(*) FROM datasample;Örnek çıkış
count ------- 3 (1 row)
Barman kullanarak isteğe bağlı ve zamanlanmış PostgreSQL yedeklemeleri ayarlama
Uyarı
CloudNativePG'nin gelecek 1.29 sürümünde yerel Barman Cloud desteğini Barman Cloud eklentisinin lehine kullanımdan kaldırması beklenir. Bu kılavuzdaki adımlar bugün çalışmaya devam eder, ancak kararlı hale getirildikten sonra eklentiye geçmeyi planlayın.
** PostgreSQL kümesinin CNPG Kümesi CRD'sinde belirtilen Azure depolama hesabına erişebildiğini ve
Working WAL archiving'ninOKolarak raporlandığını aşağıdaki komutu kullanarak doğrulayın.kubectl cnpg status $PG_PRIMARY_CLUSTER_NAME 1 \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACEÖrnek çıkış
Continuous Backup status First Point of Recoverability: Not Available Working WAL archiving: OK WALs waiting to be archived: 0 Last Archived WAL: 00000001000000000000000A @ 2024-07-09T17:18:13.982859Z Last Failed WAL: -YAML dosyasını ve
kubectl applykomutunu kullanarak AKS iş yükü kimlik tümleştirmesini kullanan Azure Depolama'ya isteğe bağlı bir yedekleme dağıtımı yapın.export BACKUP_ONDEMAND_NAME="on-demand-backup-1" cat <<EOF | kubectl apply --context $AKS_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACE -v 9 -f - apiVersion: postgresql.cnpg.io/v1 kind: Backup metadata: name: $BACKUP_ONDEMAND_NAME spec: method: barmanObjectStore cluster: name: $PG_PRIMARY_CLUSTER_NAME EOFkomutunu kullanarak
kubectl describeisteğe bağlı yedeklemenin durumunu doğrulayın.kubectl describe backup $BACKUP_ONDEMAND_NAME \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACEÖrnek çıkış
Type Reason Age From Message ---- ------ ---- ---- ------- Normal Starting 6s cloudnative-pg-backup Starting backup for cluster pg-primary-cnpg-r8c7unrw Normal Starting 5s instance-manager Backup started Normal Completed 1s instance-manager Backup completedAşağıdaki komutu kullanarak kümenin ilk kurtarılabilirlik noktasına sahip olduğunu doğrulayın:
kubectl cnpg status $PG_PRIMARY_CLUSTER_NAME 1 \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACEÖrnek çıkış
Continuous Backup status First Point of Recoverability: 2024-06-05T13:47:18Z Working WAL archiving: OKkomutuyla YAML dosyasını kullanarak
kubectl applybir programlanmış yedeklemeyi yapılandırın.export BACKUP_SCHEDULED_NAME="scheduled-backup-1" cat <<EOF | kubectl apply --context $AKS_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACE -v 9 -f - apiVersion: postgresql.cnpg.io/v1 kind: ScheduledBackup metadata: name: $BACKUP_SCHEDULED_NAME spec: # Backup once per hour schedule: "0 15 * ? * *" backupOwnerReference: self cluster: name: $PG_PRIMARY_CLUSTER_NAME EOFkomutunu kullanarak
kubectl describezamanlanmış yedeklemenin durumunu doğrulayın.kubectl describe scheduledbackup $BACKUP_SCHEDULED_NAME \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACEkomutunu kullanarak
az storage blob listbirincil küme için Azure blob depolamada depolanan yedekleme dosyalarını görüntüleyin.az storage blob list \ --account-name $PG_PRIMARY_STORAGE_ACCOUNT_NAME \ --container-name backups \ --query "[*].name" \ --only-show-errorsÇıktınız aşağıdaki örnek çıkışa benzemelidir ve yedeklemenin başarılı olduğunu doğrular:
[ "pg-primary-cnpg-r8c7unrw/base/20240605T134715/backup.info", "pg-primary-cnpg-r8c7unrw/base/20240605T134715/data.tar", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000001", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000002", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000003", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000003.00000028.backup", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000004", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000005", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000005.00000028.backup", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000006", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000007", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000008", "pg-primary-cnpg-r8c7unrw/wals/0000000100000000/000000010000000000000009" ]
İsteğe bağlı yedeklemeyi yeni bir PostgreSQL kümesine geri yükleme
Bu bölümde, daha önce CNPG işlecini kullanarak oluşturduğunuz isteğe bağlı yedeklemeyi bootstrap Kümesi CRD'sini kullanarak yeni bir örneğe geri yüklersiniz. Basitlik için tek bir örnek kümesi kullanılır. AKS iş yükü kimliğinin (CNPG aracılığıyla inheritFromAzureAD aracılığıyla) yedekleme dosyalarına eriştiği ve kurtarma kümesi adının kurtarma kümesine özgü yeni bir Kubernetes hizmet hesabı oluşturmak için kullanıldığını unutmayın.
Ayrıca yeni kurtarma kümesi hizmet hesabını blob depolamadaki yedekleme dosyalarına "Depolama Blob Verileri Katkıda Bulunanı" erişimi olan mevcut UAMI ile eşlemek için ikinci bir federasyon kimlik bilgisi oluşturursunuz.
az identity federated-credential createkomutunu kullanarak ikinci bir federasyon kimlik belgesi oluşturun.export PG_PRIMARY_CLUSTER_NAME_RECOVERED="$PG_PRIMARY_CLUSTER_NAME-recovered-db" az identity federated-credential create \ --name $PG_PRIMARY_CLUSTER_NAME_RECOVERED \ --identity-name $AKS_UAMI_CLUSTER_IDENTITY_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --issuer "${AKS_PRIMARY_CLUSTER_OIDC_ISSUER}" \ --subject system:serviceaccount:"${PG_NAMESPACE}":"${PG_PRIMARY_CLUSTER_NAME_RECOVERED}" \ --audience api://AzureADTokenExchangekubectl applykomutunu kullanarak Küme CRD ile isteğe bağlı yedeklemeyi geri yükleyin.cat <<EOF | kubectl apply --context $AKS_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACE -v 9 -f - apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: $PG_PRIMARY_CLUSTER_NAME_RECOVERED spec: inheritedMetadata: annotations: service.beta.kubernetes.io/azure-dns-label-name: $AKS_PRIMARY_CLUSTER_PG_DNSPREFIX labels: azure.workload.identity/use: "true" instances: 1 affinity: nodeSelector: workload: postgres # Point to cluster backup created earlier and stored on Azure Blob Storage bootstrap: recovery: source: clusterBackup storage: size: 2Gi pvcTemplate: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: managed-csi-premium volumeMode: Filesystem walStorage: size: 2Gi pvcTemplate: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: managed-csi-premium volumeMode: Filesystem serviceAccountTemplate: metadata: annotations: azure.workload.identity/client-id: "$AKS_UAMI_WORKLOAD_CLIENTID" labels: azure.workload.identity/use: "true" externalClusters: - name: clusterBackup barmanObjectStore: destinationPath: https://${PG_PRIMARY_STORAGE_ACCOUNT_NAME}.blob.core.windows.net/backups serverName: $PG_PRIMARY_CLUSTER_NAME azureCredentials: inheritFromAzureAD: true wal: maxParallel: 8 EOFKurtarılan örneğe bağlanın, ardından aşağıdaki komutu kullanarak tam yedeklemenin alındığı özgün kümede oluşturulan veri kümesinin mevcut olduğunu doğrulayın:
kubectl cnpg psql $PG_PRIMARY_CLUSTER_NAME_RECOVERED --namespace $PG_NAMESPACESELECT COUNT(*) FROM datasample;Örnek çıkış
count ------- 3 (1 row) Type \q to exit psqlAşağıdaki komutu kullanarak kurtarılan kümeyi silin:
kubectl cnpg destroy $PG_PRIMARY_CLUSTER_NAME_RECOVERED 1 \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACEkomutunu kullanarak
az identity federated-credential deletefederasyon kimliği kimlik bilgilerini silin.az identity federated-credential delete \ --name $PG_PRIMARY_CLUSTER_NAME_RECOVERED \ --identity-name $AKS_UAMI_CLUSTER_IDENTITY_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --yes
Genel yük dengeleyici kullanarak PostgreSQL kümesini kullanıma sunma
Bu bölümde, IP kaynağı kısıtlamaları olan PostgreSQL okuma-yazma ve salt okunur uç noktalarını istemci iş istasyonunuzun genel IP adresine genel olarak göstermek için gerekli altyapıyı yapılandıracaksınız.
Küme IP hizmetinden de aşağıdaki uç noktaları alırsınız:
- ile
*-rwokuma-yazma uç noktası. -
0'dan N'ye (çoğaltma sayısına bağlı olarak)
*-roile biten salt okunur uç noktalar. -
Bir uç noktası,
*-rile biten bir replikasyon.
komutunu kullanarak
kubectl getKüme IP hizmeti ayrıntılarını alın.kubectl get services \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACE \ -l cnpg.io/cluster=$PG_PRIMARY_CLUSTER_NAMEÖrnek çıkış
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE pg-primary-cnpg-sryti1qf-r ClusterIP 10.0.193.27 <none> 5432/TCP 3h57m pg-primary-cnpg-sryti1qf-ro ClusterIP 10.0.237.19 <none> 5432/TCP 3h57m pg-primary-cnpg-sryti1qf-rw ClusterIP 10.0.244.125 <none> 5432/TCP 3h57mUyarı
Üç hizmet vardır:
namespace/cluster-name-ro5433namespace/cluster-name-rwnumaralı bağlantı noktasına eşlenir venamespace/cluster-name-r5433 numaralı bağlantı noktasına eşlenir. PostgreSQL veritabanı kümesinin okuma/yazma düğümüyle aynı bağlantı noktasını kullanmaktan kaçınmak önemlidir. Uygulamaların PostgreSQL veritabanı kümesinin salt okunur çoğaltmasına erişmesini istiyorsanız, bunları 5433 numaralı bağlantı noktasına yönlendirin. Son hizmet genellikle veri yedeklemeleri için kullanılır, ancak salt okunur düğüm olarak da işlev görebilir.komutunu kullanarak
kubectl gethizmet ayrıntılarını alın.export PG_PRIMARY_CLUSTER_RW_SERVICE=$(kubectl get services \ --namespace $PG_NAMESPACE \ --context $AKS_PRIMARY_CLUSTER_NAME \ -l "cnpg.io/cluster" \ --output json | jq -r '.items[] | select(.metadata.name | endswith("-rw")) | .metadata.name') echo $PG_PRIMARY_CLUSTER_RW_SERVICE export PG_PRIMARY_CLUSTER_RO_SERVICE=$(kubectl get services \ --namespace $PG_NAMESPACE \ --context $AKS_PRIMARY_CLUSTER_NAME \ -l "cnpg.io/cluster" \ --output json | jq -r '.items[] | select(.metadata.name | endswith("-ro")) | .metadata.name') echo $PG_PRIMARY_CLUSTER_RO_SERVICEkomutunu kullanarak yük dengeleyici hizmetini aşağıdaki YAML dosyalarıyla
kubectl applyyapılandırın.cat <<EOF | kubectl apply --context $AKS_PRIMARY_CLUSTER_NAME -f - apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-load-balancer-resource-group: $AKS_PRIMARY_CLUSTER_NODERG_NAME service.beta.kubernetes.io/azure-pip-name: $AKS_PRIMARY_CLUSTER_PUBLICIP_NAME service.beta.kubernetes.io/azure-dns-label-name: $AKS_PRIMARY_CLUSTER_PG_DNSPREFIX name: cnpg-cluster-load-balancer-rw namespace: "${PG_NAMESPACE}" spec: type: LoadBalancer ports: - protocol: TCP port: 5432 targetPort: 5432 selector: cnpg.io/instanceRole: primary cnpg.io/podRole: instance loadBalancerSourceRanges: - "$MY_PUBLIC_CLIENT_IP/32" EOF cat <<EOF | kubectl apply --context $AKS_PRIMARY_CLUSTER_NAME -f - apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-load-balancer-resource-group: $AKS_PRIMARY_CLUSTER_NODERG_NAME service.beta.kubernetes.io/azure-pip-name: $AKS_PRIMARY_CLUSTER_PUBLICIP_NAME service.beta.kubernetes.io/azure-dns-label-name: $AKS_PRIMARY_CLUSTER_PG_DNSPREFIX name: cnpg-cluster-load-balancer-ro namespace: "${PG_NAMESPACE}" spec: type: LoadBalancer ports: - protocol: TCP port: 5433 targetPort: 5432 selector: cnpg.io/instanceRole: replica cnpg.io/podRole: instance loadBalancerSourceRanges: - "$MY_PUBLIC_CLIENT_IP/32" EOFkomutunu kullanarak
kubectl describehizmet ayrıntılarını alın.kubectl describe service cnpg-cluster-load-balancer-rw \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACE kubectl describe service cnpg-cluster-load-balancer-ro \ --context $AKS_PRIMARY_CLUSTER_NAME \ --namespace $PG_NAMESPACE export AKS_PRIMARY_CLUSTER_ALB_DNSNAME="$(az network public-ip show \ --resource-group $AKS_PRIMARY_CLUSTER_NODERG_NAME \ --name $AKS_PRIMARY_CLUSTER_PUBLICIP_NAME \ --query "dnsSettings.fqdn" --output tsv)" echo $AKS_PRIMARY_CLUSTER_ALB_DNSNAME
Genel PostgreSQL uç noktalarını doğrulama
Bu bölümde, Azure Load Balancer'ın daha önce oluşturduğunuz statik IP'yi kullanarak ve bağlantıları birincil okuma-yazma ve salt okunur çoğaltmalara yönlendirerek düzgün şekilde ayarlandığını doğrular ve psql CLI'yi kullanarak her ikisine de bağlanırsınız.
Birincil okuma-yazma uç noktasının TCP bağlantı noktası 5432 ile eşlendiğini ve salt okunur çoğaltma uç noktalarının aynı PostgreSQL DNS adının okuyucular ve yazarlar için kullanılmasına izin vermek için 5433 numaralı bağlantı noktasına eşlendiğini unutmayın.
Uyarı
Daha önce oluşturulan ve ortam değişkeninde depolanan PostgreSQL temel kimlik doğrulaması için uygulama kullanıcı parolasının $PG_DATABASE_APPUSER_SECRET değerine ihtiyacınız vardır.
Aşağıdaki
psqlkomutları kullanarak genel PostgreSQL uç noktalarını doğrulayın:echo "Public endpoint for PostgreSQL cluster: $AKS_PRIMARY_CLUSTER_ALB_DNSNAME" # Query the primary, pg_is_in_recovery = false psql -h $AKS_PRIMARY_CLUSTER_ALB_DNSNAME \ -p 5432 -U app -d appdb -W -c "SELECT pg_is_in_recovery();"Örnek çıkış
pg_is_in_recovery ------------------- f (1 row)echo "Query a replica, pg_is_in_recovery = true" psql -h $AKS_PRIMARY_CLUSTER_ALB_DNSNAME \ -p 5433 -U app -d appdb -W -c "SELECT pg_is_in_recovery();"Örnek çıkış
# Example output pg_is_in_recovery ------------------- t (1 row)Birincil okuma-yazma uç noktasına başarıyla bağlandığında PostgreSQL işlevi
fdeğerini döndürür ve geçerli bağlantının yazılabilir olduğunu gösterir.Bir çoğaltmaya bağlanıldığında işlev
tdeğerini döndürür ve veritabanının kurtarma ve salt okunur durumda olduğunu gösterir.
Planlanmamış bir yük devretmeyi simüle et
Bu kısımda, PostgreSQL birincil düğümünün çalıştığı podu silerek, ani bir kilitlenme veya ağ bağlantısı kaybını simüle eden ani bir hata tetiklersiniz.
Aşağıdaki komutu kullanarak çalışan pod örneklerinin durumunu denetleyin:
kubectl cnpg status $PG_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACEÖrnek çıkış
Name Current LSN Rep role Status Node --------------------------- ----------- -------- ------- ----------- pg-primary-cnpg-sryti1qf-1 0/9000060 Primary OK aks-postgres-32388626-vmss000000 pg-primary-cnpg-sryti1qf-2 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000001 pg-primary-cnpg-sryti1qf-3 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000002Silme komutunu
kubectl deletekullanarak birincil podu silin.PRIMARY_POD=$(kubectl get pod \ --namespace $PG_NAMESPACE \ --no-headers \ -o custom-columns=":metadata.name" \ -l role=primary) kubectl delete pod $PRIMARY_POD --grace-period=1 --namespace $PG_NAMESPACEpg-primary-cnpg-sryti1qf-2Aşağıdaki komutu kullanarak pod örneğinin artık birincil olduğunu doğrulayın:kubectl cnpg status $PG_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACEÖrnek çıkış
pg-primary-cnpg-sryti1qf-2 0/9000060 Primary OK aks-postgres-32388626-vmss000001 pg-primary-cnpg-sryti1qf-1 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000000 pg-primary-cnpg-sryti1qf-3 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000002pg-primary-cnpg-sryti1qf-1Aşağıdaki komutu kullanarak pod örneğini birincil olarak sıfırlayın:kubectl cnpg promote $PG_PRIMARY_CLUSTER_NAME 1 --namespace $PG_NAMESPACEAşağıdaki komutu kullanarak pod örneklerinin planlanmamış yük devretme testi öncesinde özgün durumlarına geri döndüğünü doğrulayın:
kubectl cnpg status $PG_PRIMARY_CLUSTER_NAME --namespace $PG_NAMESPACEÖrnek çıkış
Name Current LSN Rep role Status Node --------------------------- ----------- -------- ------- ----------- pg-primary-cnpg-sryti1qf-1 0/9000060 Primary OK aks-postgres-32388626-vmss000000 pg-primary-cnpg-sryti1qf-2 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000001 pg-primary-cnpg-sryti1qf-3 0/9000060 Standby (sync) OK aks-postgres-32388626-vmss000002
Kaynakları temizleme
Dağıtımınızı gözden geçirmeyi bitirdikten sonra komutunu kullanarak
az group deletebu kılavuzda oluşturduğunuz tüm kaynakları silin.az group delete --resource-group $RESOURCE_GROUP_NAME --no-wait --yes
Sonraki adımlar
Bu nasıl yapılır kılavuzunda şunların nasıl yapılacağını öğrendiniz:
- Çok bölgeli aks kümesi oluşturmak için Azure CLI'yi kullanın.
- CNPG işlecini kullanarak yüksek oranda kullanılabilir bir PostgreSQL kümesi ve veritabanı dağıtın.
- Prometheus ve Grafana kullanarak PostgreSQL için izlemeyi ayarlayın.
- PostgreSQL veritabanına örnek bir veri kümesi dağıtın.
- Küme kesintisini simüle edin ve PostgreSQL yedek sunucuya geçiş yapın.
- PostgreSQL veritabanının yedeğini ve geri yüklemesini gerçekleştirin.
AKS'yi iş yükleriniz için nasıl kullanabileceğiniz hakkında daha fazla bilgi edinmek için bkz. Azure Kubernetes Service (AKS) nedir? PostgreSQL için Azure Veritabanı hakkında daha fazla bilgi edinmek için bkz. PostgreSQL için Azure Veritabanı nedir?
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Başlangıçta aşağıdaki katkıda bulunanlar yazdı:
- Ken Kilty | Başkan TPM
- Russell de Pina | Baş Sorumlu TPM
- Adrian Joian | Kıdemli Müşteri Mühendisi
- Jenny Hayes | Kıdemli İçerik Geliştirici
- Carol Smith | Kıdemli İçerik Geliştirici
- Erin Schaffer | İçerik Geliştirici 2
- Adem Şerif | Müşteri Mühendisi 2
Bildirim
Bu belgeler, CloudNativePG operatörünün bakımcıları enterpriseDB ile birlikte geliştirilmiştir. Gabriele Bartolini'ye bu belgenin önceki taslaklarını gözden geçirip teknik iyileştirmeler sunduğu için teşekkür ederiz.