Vytvoření skupiny serverů PostgreSQL se škálováním na základě ARC Azure z CLI

Tento dokument popisuje kroky pro vytvoření PostgreSQL skupiny serverů s škálovatelným škálováním na platformě Azure ARC a připojení k němu.

Požadavky

Než budete moct pokračovat v úlohách v tomto článku, musíte mít:

Poznámka

V rámci funkce Preview se technologie uvedená v tomto článku týká doplňkových podmínek použití pro Microsoft Azureverze Preview.

Nejnovější aktualizace jsou k dispozici v poznámkách k verzi.

V případě aktuální aktualizace je nasazení řadiče dat ARC v režimu přímého připojení podporováno pouze z Azure Portal.

Začínáme

Pokud jste již obeznámeni s tématy uvedenými níže, můžete tento odstavec vynechat. Než budete pokračovat v vytváření, můžete si přečíst důležitá témata:

Pokud dáváte přednost vyzkoušení bez samotného celého prostředí, začněte rychle začít pomocí Azure ARC rychlé zprovoznění ve službě Azure Kubernetes Service (AKS), AWS elastické Kubernetesové služby (EKS), Google Cloud Kubernetes Engine (GKE) nebo na virtuálním počítači Azure.

Předběžný a dočasný krok jenom pro uživatele OpenShift

Před přechodem k dalšímu kroku implementujte tento krok. Pokud chcete nasadit skupinu serverů PostgreSQL s vlastním škálováním na Red Hat OpenShift v jiném projektu než ve výchozím nastavení, musíte pro svůj cluster spustit následující příkazy, abyste mohli aktualizovat omezení zabezpečení. Tento příkaz uděluje potřebná oprávnění účtům služeb, které budou spouštět PostgreSQL skupinu serverů s vlastním škálováním. V poli omezení kontextu zabezpečení (SCC) ARC – data-SCC je ten, který jste přidali při nasazení řadiče dat ARC Azure.

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

Server-Group-Name je název skupiny serverů, kterou vytvoříte během dalšího kroku.

Další informace o SCCs v OpenShift najdete v dokumentaci k OpenShift. Přejděte k dalšímu kroku.

Vytvoření skupiny serverů PostgreSQL s podporou ARC Azure

Pokud chcete na řadiči dat ARC vytvořit PostgreSQL skupinu serverů s podporou ARC Azure, budete používat příkaz az postgres arc-server create , ke kterému budete předávat několik parametrů.

Podrobnosti o všech parametrech, které můžete nastavit v čase vytvoření, najdete v výstupu příkazu:

az postgres arc-server create --help

Hlavní parametry by měly být zváženy:

  • název skupiny serverů , kterou chcete nasadit. Uveďte buď --name nebo -n následované názvem, jehož délka nesmí být delší než 11 znaků.

  • verze modulu PostgreSQL , který chcete nasadit: ve výchozím nastavení je to verze 12. K nasazení verze 12 můžete buď vynechat tento parametr, nebo předat jeden z následujících parametrů: --engine-version 12 nebo -ev 12 . K nasazení verze 11 označte --engine-version 11 nebo -ev 11 .

  • počet pracovních uzlů , které chcete nasadit pro horizontální navýšení kapacity, a případně dosažení lepších výkonů. Než budete pokračovat, přečtěte si koncepty o Postgres škálování. Chcete-li určit počet uzlů pracovních procesů, které mají být nasazeny, použijte parametr --workers nebo -w za něj zadejte celé číslo. Následující tabulka uvádí rozsah podporovaných hodnot a informace o tom, jakou formu Postgres nasazení s nimi získáte. Například pokud chcete nasadit skupinu serverů se dvěma pracovními uzly, uveďte --workers 2 nebo -w 2 . Vytvoří se tři lusky, jedna pro uzel koordinátora/instance a dvě pro pracovní uzly/instance (jeden pro každý z pracovních procesů).

Potřebuješ Tvar skupiny serverů, kterou budete nasazovat -w parametr, který se má použít Poznámka
Škálovaná forma Postgres, která bude vyhovovat potřebám škálovatelnosti vašich aplikací. Tři nebo více instancí Postgres, jeden je koordinátor, n jsou pracovní procesy s n >= 2. Použijte -w n , s n>= 2. Rozšíření Citus, které poskytuje schopnost škálování, je načteno.
Základní forma Postgres škálování pro vás, která vám umožní provádět ověřování vaší aplikace za minimální náklady. Není platné pro ověřování výkonu a škálovatelnosti. Pro je nutné použít typ nasazení popsaný výše. Jedna instance Postgres, která je zároveň koordinátorem i pracovníkem. Použijte -w 0 a načtěte rozšíření Citus. Pokud nasazujete z příkazového řádku: -w 0 --Extensions Citus, použijte následující parametry. Rozšíření Citus, které poskytuje schopnost škálování, je načteno.
Jednoduchá instance Postgres, která je připravená na horizontální navýšení kapacity, když ji potřebujete. Jedna instance Postgres Ještě neznáte sémantiku pro koordinátora a pracovní proces. Pokud ho chcete škálovat po nasazení, upravte konfiguraci, zvyšte počet pracovních uzlů a distribuujte data. Použijte -w 0 nebo nezadávejte -w . Rozšíření Citus, které poskytuje schopnost škálování na úrovni služby, se nachází ve vašem nasazení, ale ještě není načteno.

Při použití -w 1 funguje nedoporučujeme ji používat. Toto nasazení vám neposkytne spoustu hodnot. Díky tomu získáte dvě instance Postgres: jeden koordinátor a jeden pracovní proces. S tímto nastavením ve skutečnosti nemůžete škálovat data od nasazení jednoho pracovního procesu. Protože se vám nezobrazuje vyšší úroveň výkonu a škálovatelnosti. Podporu tohoto nasazení odstraníme v budoucí verzi.

  • Třídy úložiště , které má skupina serverů používat. Je důležité nastavit třídu úložiště přímo v době, kdy nasazujete skupinu serverů, protože toto nastavení se po nasazení nedá změnit. Můžete určit třídy úložiště, které se mají používat pro data, protokoly a zálohy. Ve výchozím nastavení platí, že pokud neuvedete třídy úložiště, budou použity třídy úložiště v řadiči dat.

    • Chcete-li pro data nastavit třídu úložiště, označte parametr --storage-class-data nebo -scd za něj uveďte název třídy úložiště.
    • Chcete-li nastavit třídu úložiště pro protokoly, označte parametr --storage-class-logs nebo -scl za něj uveďte název třídy úložiště.
    • Podpora nastavení tříd úložiště pro zálohy byla dočasně odebrána, protože dočasně jsme odstranili funkce zálohování a obnovení, protože dokončujeme návrhy a prostředí.

    Důležité

    Pokud potřebujete po nasazení změnit třídu úložiště, rozbalte data, odstraňte skupinu serverů, vytvořte novou skupinu serverů a importujte data.

Při spuštění příkazu CREATE (vytvořit) se zobrazí výzva k zadání hesla výchozího postgres administrativního uživatele. V této verzi Preview nejde změnit jméno tohoto uživatele. Můžete přeskočit interaktivní výzvu nastavením AZDATA_PASSWORD proměnné prostředí relace před spuštěním příkazu CREATE.

Příklady

Pokud chcete nasadit skupinu serverů Postgres verze 12 s názvem postgres01 se dvěma pracovními uzly, které používají stejné třídy úložiště jako řadič dat, spusťte následující příkaz:

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

Poznámka

  • Pokud jste nasadili řadič dat AZDATA_USERNAME pomocí AZDATA_PASSWORD proměnné prostředí a prostředí relace ve stejné relaci Terminálové služby, pak hodnoty pro AZDATA_PASSWORD budou použity také k nasazení skupiny serverů PostgreSQL s velkým měřítkem. Pokud dáváte přednost použití jiného hesla, buď (1) aktualizujte hodnotu pro AZDATA_PASSWORD nebo (2) odstraňte AZDATA_PASSWORD proměnnou prostředí nebo (3) Odstraňte její hodnotu, aby se při vytváření skupiny serverů zobrazila výzva k interaktivnímu zadání hesla.
  • Když vytvoříte skupinu serverů PostgreSQL s škálovatelným škálováním, nebudou se prostředky hned registrovat přímo v Azure. V rámci procesu nahrávání inventáře prostředků nebo dat o využití do Azure se prostředky vytvoří v Azure a vaše prostředky budete moct zobrazit v Azure Portal.

Seznam skupin serverů PostgreSQL s vlastním škálováním nasazených v řadiči dat ARC

Pokud chcete zobrazit seznam PostgreSQL skupin serverů s vlastním škálováním nasazených v řadiči dat ARC, spusťte následující příkaz:

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

Získání koncových bodů pro připojení ke skupinám serverů PostgreSQL s podporou ARC Azure

Chcete-li zobrazit koncové body pro skupinu serverů PostgreSQL, spusťte následující příkaz:

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

Například:

{
  "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"
}

pomocí koncového bodu Instance PostgreSQL se můžete připojit ke skupině serverů PostgreSQL s vlastním škálováním z oblíbeného nástroje: Azure Data Studio, pgcli psql, pgAdmin atd. Když to uděláte, připojíte se k uzlu nebo instanci koordinátora, která při vytváření distribuovaných tabulek bere v potaz směrování dotazu na příslušné pracovní uzly nebo instance. Pokud chcete získat další informace, přečtěte si Koncepty PostgreSQL škálování s povoleným ARC Azure.

V tuto chvíli použijte sestavení vnitřních Azure Data Studio.

Zvláštní Poznámka o nasazeních virtuálních počítačů Azure

Pokud používáte virtuální počítač Azure, IP adresa koncového bodu nezobrazuje veřejnou IP adresu. Veřejnou IP adresu najdete pomocí následujícího příkazu:

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

Pak můžete zkombinovat veřejnou IP adresu s portem a vytvořit tak připojení.

Také je možné, že bude nutné vystavit port skupiny serverů PostgreSQL s škálovatelným škálováním prostřednictvím brány zabezpečení sítě (NSG). Pokud chcete povolený provoz přes rozhraní (NSG), nastavte pravidlo. Pokud chcete nastavit pravidlo, budete muset znát název vašeho NSGu. NSG určíte pomocí příkazu níže:

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

Jakmile budete mít název NSG, můžete přidat pravidlo brány firewall pomocí následujícího příkazu. Ukázkové hodnoty zde vytvoří pravidlo NSG pro port 30655 a umožní připojení z jakékoli zdrojové IP adresy.

Upozornění

Nedoporučujeme nastavit pravidlo, které umožňuje připojení z jakékoli zdrojové IP adresy. Můžete tak lépe uzamknout a zadat -source-address-prefixes hodnotu, která je specifická pro vaši IP adresu klienta, nebo rozsah IP adres, který se vztahuje na IP adresy vašeho týmu nebo organizace.

Nahraďte hodnotu --destination-port-ranges parametru níže číslem portu, který jste získali z az postgres arc-server list příkazu výše.

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 '*'

Připojení pomocí nástroje Azure Data Studio

Otevřete Azure Data Studio a připojte se ke své instanci pomocí IP adresy a čísla portu externího koncového bodu výše a hesla, které jste zadali v době vytvoření instance. Pokud v rozevíracím seznamu Typ připojení není postgreSQL k dispozici, můžete rozšíření PostgreSQL nainstalovat tak, že na kartě rozšíření vyhledáte PostgreSQL.

Poznámka

Pokud chcete zadat číslo portu, budete muset na panelu připojení kliknout na tlačítko [Upřesnit].

Nezapomeňte, že pokud používáte virtuální počítač Azure, budete potřebovat veřejnou IP adresu, která je přístupná prostřednictvím následujícího příkazu:

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

Připojení s psql

Pokud chcete získat přístup ke skupině serverů PostgreSQL Hyperscale, předejte externí koncový bod skupiny serverů PostgreSQL Hyperscale, kterou jste získali z výše uvedeného příkladu:

Teď se můžete připojit k nástroji psql:

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

Další kroky