CLı 'dan Azure Arc özellikli bir PostgreSQL hiper ölçek sunucu grubu oluşturma

Bu belgede, Azure Arc üzerinde bir PostgreSQL hiper ölçek sunucu grubu oluşturma ve buna bağlanma adımları açıklanır.

Önkoşullar

Bu makaledeki görevlere devam edebilmeniz için, şunları yapmanız gerekir:

Not

Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure önizlemeleri Için ek kullanım koşulları'na tabidir.

Sürüm notlarındaen son güncelleştirmeler mevcuttur.

Geçerli güncelleştirme için doğrudan bağlantı modundaki Arc veri denetleyicisi dağıtımı yalnızca Azure portal desteklenir.

Başlarken

Aşağıdaki konularda zaten bilgi sahibiyseniz bu paragrafı atlayabilirsiniz. Oluşturmaya devam etmeden önce, okumak isteyebileceğiniz önemli konular vardır:

Tam bir ortamı sağlamadan şeyleri denemeyi tercih ediyorsanız Azure Kubernetes Service (AKS), AWS elastik Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) veya bir Azure VM 'de Azure Arc atlamalı ile hızlı bir şekilde çalışmaya başlayabilirsiniz.

Yalnızca OpenShift kullanıcıları için ön ve geçici adım

Sonraki adıma geçmeden önce bu adımı uygulayın. Varsayılan dışında bir projede PostgreSQL hiper ölçek sunucu grubunu Red Hat OpenShift 'e dağıtmak için, güvenlik kısıtlamalarını güncelleştirmek üzere kümenizde aşağıdaki komutları yürütmeniz gerekir. Bu komut, PostgreSQL hiper ölçek sunucu grubunuzu çalıştıracak hizmet hesaplarına gerekli ayrıcalıkları verir. Güvenlik bağlamı kısıtlaması (SCC) Arc-Data-SCC, Azure Arc veri denetleyicisi 'ni dağıtırken eklediğiniz bir.

oc adm policy add-scc-to-user arc-data-scc -z <server-group-name> -n <namespace name>

Sunucu-grup adı, bir sonraki adımda oluşturacağınız sunucu grubunun adıdır.

OpenShift 'teki SCCs hakkında daha fazla ayrıntı için OpenShift belgelerinebakın. Sonraki adıma geçin.

Azure Arc özellikli bir PostgreSQL hiper ölçek sunucu grubu oluşturma

Arc veri denetleyicinizde Azure Arc özellikli bir PostgreSQL hiper ölçek sunucu grubu oluşturmak için, az postgres arc-server create çeşitli parametreleri geçireceği komutu kullanacaksınız.

Oluşturma zamanında ayarlayabileceğiniz tüm parametrelere ilişkin ayrıntılar için, komutun çıkışını gözden geçirin:

az postgres arc-server create --help

Ana parametreler şunları göz önünde bulundurmalıdır:

  • dağıtmak istediğiniz sunucu grubunun adı . --name -n Uzunluğunun 11 karakteri aşmaması gereken bir ad veya arkasından bir ad belirtin.

  • dağıtmak istediğiniz PostgreSQL altyapısının sürümü : varsayılan olarak 12. sürümüdür. Sürüm 12 ' yi dağıtmak için bu parametreyi atlayabilirsiniz veya şu parametrelerden birini geçirebilirsiniz: --engine-version 12 ya da -ev 12 . Sürüm 11 ' i dağıtmak için --engine-version 11 veya belirtin -ev 11 .

  • genişletmek için dağıtmak istediğiniz çalışan düğümlerinin sayısı ve daha iyi performansa ulaşın. Buraya geçmeden önce Postgres Hyperscale kavramlarınıokuyun. Dağıtılacak çalışan düğümlerinin sayısını göstermek için parametresini --workers veya -w arkasından bir tamsayı kullanın. Aşağıdaki tabloda, desteklenen değerlerin aralığı ve onlarla hangi Postgres dağıtımının hangi şekilde alınacağı gösterilir. Örneğin, iki çalışan düğümü olan bir sunucu grubu dağıtmak istiyorsanız, --workers 2 veya belirtin -w 2 . Bu, biri Koordinatör düğümü/örneği ve iki çalışan düğümleri/örnekleri (çalışanların her biri için) için olmak üzere üç pods oluşturur.

İhtiyacın var Dağıtacaksınız sunucu grubunun şekli -w kullanılacak parametre Not
Uygulamalarınızın ölçeklenebilirlik ihtiyaçlarını karşılamak için bir grup Postgres biçimi. Üç veya daha fazla Postgres örneği, biri Koordinatör, n >= 2 olan çalışanlardır. -w nN>= 2 ile kullanın. Hiper ölçek özelliğini sağlayan Citus uzantısı yüklenir.
Uygulamanızın en düşük maliyette işlevsel doğrulanmasını yapmanız için bir Postgres Hyperscale temel formu. Performans ve ölçeklenebilirlik doğrulaması için geçerli değildir. Bunun için yukarıda açıklanan dağıtım türlerini kullanmanız gerekir. Hem Koordinatör hem de çalışan olan bir Postgres örneği. -w 0Citus uzantısını kullanın ve yükleyin. Komut satırından dağıtım yapıyorsanız şu parametreleri kullanın: -w 0 --Extensions Citus. Hiper ölçek özelliğini sağlayan Citus uzantısı yüklenir.
Bir Postgres örneği, ihtiyacınız olduğunda ölçeklendirmeye hazır olan basit bir örneğidir. Tek bir Postgres örneği. Henüz Koordinatör ve çalışan için anlam açısından farkında değildir. Dağıtımdan sonra ölçeği ölçeklendirmek için yapılandırmayı düzenleyin, çalışan düğümlerinin sayısını artırın ve verileri dağıtın. Öğesini kullanın -w 0 veya belirtmeyin -w . Hiper ölçek özelliğini sağlayan Citus uzantısı dağıtımınızda mevcuttur, ancak henüz yüklenmemiştir.

Çalışmalar kullanılırken -w 1 , bunu kullanmanızı önermiyoruz. Bu dağıtım size size çok değer sağlamacaktır. Bununla birlikte, iki Postgres: bir düzenleyici ve bir Worker örneği alacaksınız. Bu kurulumla, tek bir çalışanı dağıtmasından bu yana aslında verileri ölçeklendirmeyin. Bu nedenle, daha yüksek performans ve ölçeklenebilirlik düzeyi görmezsiniz. Bu dağıtımın desteğini gelecekteki bir sürümde kaldıracağız.

  • Sunucu grubunuzun kullanmasını istediğiniz Depolama sınıfları . Bu ayar dağıttıktan sonra değiştirilenemez, depolama sınıfını bir sunucu grubunu dağıtırken doğrudan ayarlamanız önemlidir. Veriler, Günlükler ve yedeklemeler için kullanılacak depolama sınıflarını belirtebilirsiniz. Varsayılan olarak, depolama sınıflarını belirtmezseniz, veri denetleyicisinin Depolama sınıfları kullanılacaktır.

    • Verilerin depolama sınıfını ayarlamak için, parametresini --storage-class-data veya -scd ardından depolama sınıfının adını belirtin.
    • Günlükler için depolama sınıfını ayarlamak üzere, parametresini --storage-class-logs veya -scl ardından depolama sınıfının adını belirtin.
    • Yedekleme/geri yükleme işlevlerini, tasarımları ve deneyimleri sonuçlarımız için geçici olarak kaldırdığımız için, yedeklemeler için depolama sınıflarını ayarlama desteği geçici olarak kaldırılmıştır.

    Önemli

    Dağıtımdan sonra depolama sınıfını değiştirmeniz gerekiyorsa, verileri ayıklayın, sunucu grubunuzu silin, yeni bir sunucu grubu oluşturun ve verileri içeri aktarın.

Oluştur komutunu çalıştırdığınızda, varsayılan yönetici kullanıcının parolasını girmeniz istenir postgres . Bu önizlemede bu kullanıcının adı değiştirilemez. AZDATA_PASSWORDCreate komutunu çalıştırmadan önce oturum ortam değişkenini ayarlayarak etkileşimli istemi atlayabilirsiniz.

Örnekler

Veri denetleyicisi ile aynı depolama sınıflarını kullanan iki çalışan düğümü ile, Postgres sürüm 12 adlı postgres01 adlı bir sunucu grubunu dağıtmak için aşağıdaki komutu çalıştırın:

az postgres arc-server create -n postgres01 --workers 2 --k8s-namespace <namespace> --use-k8s

Not

  • Veri denetleyicisini AZDATA_USERNAME ve AZDATA_PASSWORD oturum ortam değişkenlerini aynı Terminal oturumunda dağıttıysanız, AZDATA_PASSWORD Bu değerler PostgreSQL hiper ölçek sunucu grubunu da dağıtmak için kullanılacaktır. Başka bir parola kullanmayı tercih ediyorsanız, (1) veya değerini güncelleştirin ya da ( AZDATA_PASSWORD 2) AZDATA_PASSWORD ortam değişkenini silin veya (3) bir sunucu grubu oluştururken etkileşimli olarak parola girmesi istenir değerini silin.
  • PostgreSQL hiper ölçek sunucu grubu oluşturma, kaynakları hemen Azure 'da kaydetmez. Kaynak envanteri veya kullanım verilerini Azure 'a yükleme işleminin bir parçası olarak, kaynaklar azure 'da oluşturulur ve Azure Portal kaynaklarınızı görebileceksiniz.

Arc veri denetleyicinizde dağıtılan PostgreSQL hiper ölçek sunucu gruplarını listeleyin

Arc veri denetleyicinizde dağıtılan PostgreSQL hiper ölçek sunucu gruplarını listelemek için aşağıdaki komutu çalıştırın:

az postgres arc-server list --k8s-namespace <namespace> --use-k8s
  {
    "name": "postgres01",
    "replicas": 1,
    "state": "Ready",
    "workers": 2
  }

Azure Arc özellikli PostgreSQL hiper ölçek sunucu gruplarına bağlanmak için uç noktaları alın

Bir PostgreSQL sunucu grubunun uç noktalarını görüntülemek için aşağıdaki komutu çalıştırın:

az postgres arc-server endpoint list -n <server group name> --k8s-namespace <namespace> --use-k8s

Örnek:

{
  "instances": [
    {
      "endpoints": [
        {
          "description": "PostgreSQL Instance",
          "endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
        },
        {
          "description": "Log Search Dashboard",
        },
        {
          "description": "Metrics Dashboard",
          "endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
        }
      ],
      "engine": "PostgreSql",
      "name": "postgres01"
    }
  ],
  "namespace": "arc"
}

postgresql örnek uç noktasını, en sevdiğiniz araçtan postgresql hiper ölçek sunucu grubuna bağlanmak için kullanabilirsiniz: Azure Data Studio, pgclı psql, pgadmin, vb. Bunu yaptığınızda, dağıtılmış tablolar oluşturduysanız, sorguyu uygun çalışan düğümlerine/örneklerine yönlendirmenizi sağlayan düzenleyici düğümüne/örneğine bağlanırsınız. Daha fazla ayrıntı için, Azure Arc özellikli PostgreSQL hiper ölçek kavramlarınıokuyun.

Şu anda, Azure Data Studio Insiders derlemesinikullanın.

Azure sanal makine dağıtımları hakkında özel bilgi

Bir Azure sanal makinesi kullanırken, uç nokta IP adresi genel IP adresini göstermez. Genel IP adresini bulmak için aşağıdaki komutu kullanın:

az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table

Daha sonra bağlantı kurmak için genel IP adresini bağlantı noktasıyla birleştirebilirsiniz.

Ayrıca, PostgreSQL hiper ölçek sunucu grubunun bağlantı noktasını ağ güvenlik ağ geçidi (NSG) üzerinden kullanıma sunabilirsiniz. (NSG) üzerinden trafiğe izin vermek için bir kural ayarlayın. Bir kural ayarlamak için NSG 'nizin adını bilmeniz gerekir. Aşağıdaki komutu kullanarak NSG 'yi belirlersiniz:

az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table

NSG 'nin adını aldıktan sonra, aşağıdaki komutu kullanarak bir güvenlik duvarı kuralı ekleyebilirsiniz. Burada örnek değerler, 30655 numaralı bağlantı noktası için bir NSG kuralı oluşturur ve herhangi BIR kaynak IP adresinden bağlantıya izin verir.

Uyarı

Herhangi bir kaynak IP adresinden bağlantıya izin vermek için bir kural ayarlamamız önerilmez. -source-address-prefixesISTEMCI IP adresine özgü bir değer belirterek ya da takımınızın veya kuruluşun IP adreslerini içeren BIR IP adresi aralığı belirterek, şeyleri daha iyi bir şekilde kilitleyebilir.

--destination-port-rangesAşağıdaki parametrenin değerini yukarıdaki komuttan aldığınız bağlantı noktası numarasıyla değiştirin az postgres arc-server list .

az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'

Azure Data Studio ile bağlanma

Azure Data Studio açın ve yukarıdaki dış uç nokta ıp adresini ve bağlantı noktası numarasını ve örneği oluşturduğunuz sırada belirttiğiniz parolayı kullanarak örneğinizle bağlantı yapın. Bağlantı türü açılan listesinde PostgreSQL yoksa, Uzantılar sekmesinde PostgreSQL ' ı arayarak PostgreSQL uzantısını yükleyebilirsiniz.

Not

Bağlantı masasındaki [Gelişmiş] düğmesine tıklayarak bağlantı noktası numarasını girmeniz gerekir.

Azure VM kullanıyorsanız, şu komutla erişilebilen genel IP adresine ihtiyacınız olacağını unutmayın:

az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table

psql ile Bağlan

PostgreSQL hiper ölçek sunucu grubunuza erişmek için, yukarıda aldığınız PostgreSQL hiper ölçek sunucu grubunun dış uç noktasını geçirin:

Artık psql 'e bağlanabilirsiniz:

psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655

Sonraki adımlar