Een postgreSQL Hyperscale-servergroep Azure Arc postgreSQL hyperscale maken vanuit CLI
In dit document worden de stappen beschreven voor het maken van een PostgreSQL Hyperscale-servergroep op Azure Arc om er verbinding mee te maken.
Vereisten
Voordat u verder kunt gaan met de taken in dit artikel, hebt u het volgende nodig:
De geïnstalleerde clienthulpprogramma's
Hulpprogramma's Azure Data Studio en Azure CLI.
Voor Azure Data Studio installeert u extensies voor Azure Arc en PostgreSQL (afhankelijk van gegevensservices)
Installeer voor Azure CLI de extensie
arcdata.
Notitie
Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
De meest recente updates zijn beschikbaar in de release-opmerkingen.
Voor de huidige update wordt de implementatie van de Arc-gegevenscontroller in de modus voor directe connectiviteit alleen ondersteund vanuit Azure Portal.
Aan de slag
Als u al bekend bent met de onderstaande onderwerpen, kunt u deze alinea overslaan. Er zijn belangrijke onderwerpen die u mogelijk wilt lezen voordat u verdergaat met het maken:
- Overzicht van Azure Arc ingeschakelde gegevensservices
- Connectiviteitsmodi en -vereisten
- Storage voor configuratie en Kubernetes-opslag
- Kubernetes-resourcemodel
Als u liever dingen probeert zonder zelf een volledige omgeving in terichten, kunt u snel aan de slag met Azure Arc Jumpstart on Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) of in een Azure-VM.
Voorlopige en tijdelijke stap voor alleen OpenShift-gebruikers
Implementeert deze stap voordat u verder gaat met de volgende stap. Als u postgreSQL Hyperscale-servergroep wilt implementeren op Red Hat OpenShift in een ander project dan de standaardinstelling, moet u de volgende opdrachten uitvoeren voor uw cluster om de beveiligingsbeperkingen bij te werken. Met deze opdracht worden de benodigde bevoegdheden verleend aan de serviceaccounts die uw PostgreSQL Hyperscale-servergroep uitvoeren. De beveiligingscontextbeperking (SCC) arc-data-scc is de beperking die u hebt toegevoegd toen u de Azure Arc geïmplementeerd.
oc adm policy add-scc-to-user arc-data-scc -z <server-group-name> -n <namespace name>
Servergroepnaam is de naam van de servergroep die u tijdens de volgende stap maakt.
Raadpleeg de OpenShift-documentatie voor meer informatie over sccs in OpenShift. Ga door naar de volgende stap.
Een PostgreSQL Hyperscale-servergroep met Azure Arc-functie maken
Als u Azure Arc PostgreSQL Hyperscale-servergroep wilt maken op uw Arc-gegevenscontroller, gebruikt u de opdracht waaraan u az postgres arc-server create verschillende parameters door geeft.
Bekijk de uitvoer van de opdracht voor meer informatie over alle parameters die u tijdens het maken kunt instellen:
az postgres arc-server create --help
De belangrijkste parameters die u moet overwegen, zijn:
de naam van de servergroep die u wilt implementeren. Geef een of aan gevolgd door een naam waarvan de lengte niet langer mag zijn dan
--name-n11 tekens.de versie van de PostgreSQL-engine die u wilt implementeren: standaard is dit versie 12. Als u versie 12 wilt implementeren, kunt u deze parameter weglaten of een van de volgende parameters doorgeven:
--engine-version 12of-ev 12. Als u versie 11 wilt implementeren, geeft u--engine-version 11of-ev 11aan.het aantal werkknooppunten dat u wilt implementeren om uit te schalen en mogelijk betere prestaties te bereiken. Lees de concepten over Postgres Hyperscale voordat u verdergaat. Gebruik de parameter of gevolgd door een geheel getal om het aantal werkknooppunten aan te geven dat moet
--workers-wworden geïmplementeerd. In de onderstaande tabel ziet u het bereik van ondersteunde waarden en welke vorm van Postgres-implementatie u bij deze waarden krijgt. Als u bijvoorbeeld een servergroep met twee werkknooppunten wilt implementeren, geeft u--workers 2of-w 2aan. Hiermee maakt u drie pods, één voor het coördinatorknooppunt/-exemplaar en twee voor de werkknooppunten/-instanties (één voor elk van de werknemers).
| U hebt nodig | Vorm van de servergroep die u wilt implementeren | -w parameter die moet worden gebruikt |
Notitie |
|---|---|---|---|
| Een uitgeschaalde vorm van Postgres om te voldoen aan de schaalbaarheidsbehoeften van uw toepassingen. | Drie of meer Postgres-instanties, één is coördinator, n zijn werksters met n >=2. | Gebruik -w n , met n>=2. |
De Citus-extensie die de Hyperscale-mogelijkheid biedt, wordt geladen. |
| Een eenvoudige vorm van Postgres Hyperscale voor het uitvoeren van functionele validatie van uw toepassing tegen minimale kosten. Niet geldig voor validatie van prestaties en schaalbaarheid. Voor deze implementatie moet u het type implementaties gebruiken dat hierboven wordt beschreven. | Eén Postgres-exemplaar dat zowel coördinator als werker is. | Gebruik -w 0 en laad de Citus-extensie. Gebruik de volgende parameters als u implementeert vanaf de opdrachtregel: -w 0 --extensions Citus. |
De Citus-extensie die de Hyperscale-mogelijkheid biedt, wordt geladen. |
| Een eenvoudig exemplaar van Postgres dat klaar is om uit te schalen wanneer u dat nodig hebt. | Eén Postgres-exemplaar. Het is nog niet op de hoogte van de semantiek voor coördinator en werker. Als u de schaal na de implementatie wilt aanpassen, bewerkt u de configuratie, verhoogt u het aantal werkknooppunten en distribueert u de gegevens. | Gebruik -w 0 of geef niet -w op. |
De Citus-extensie die de Hyperscale-mogelijkheid biedt, is aanwezig in uw implementatie, maar is nog niet geladen. |
Tijdens het -w 1 gebruik van werkt, raden we u niet aan deze te gebruiken. Deze implementatie biedt u niet veel waarde. Met deze functie krijgt u twee exemplaren van Postgres: één coördinator en één werknemer. Met deze instelling schaalt u de gegevens niet uit omdat u één werkrol implementeert. Als zodanig ziet u geen verhoogd prestatie- en schaalbaarheidsniveau. De ondersteuning van deze implementatie wordt in een toekomstige release verwijderd.
De opslagklassen die de servergroep moet gebruiken. Het is belangrijk dat u de opslagklasse in stelt op het moment dat u een servergroep implementeert, omdat deze instelling niet kan worden gewijzigd nadat u deze hebt geïmplementeerd. U kunt de opslagklassen opgeven die moeten worden gebruikt voor de gegevens, logboeken en back-ups. Als u geen opslagklassen aangeeft, worden standaard de opslagklassen van de gegevenscontroller gebruikt.
- Als u de opslagklasse voor de gegevens wilt instellen, geeft u de parameter
--storage-class-dataof gevolgd door de naam van de-scdopslagklasse aan. - Als u de opslagklasse voor de logboeken wilt instellen, geeft u de parameter
--storage-class-logsof gevolgd door de naam van de-sclopslagklasse aan. - De ondersteuning voor het instellen van opslagklassen voor de back-ups is tijdelijk verwijderd omdat we de functies voor back-up/herstel tijdelijk hebben verwijderd bij het maken van ontwerpen en ervaringen.
Belangrijk
Als u de opslagklasse na de implementatie moet wijzigen, extraheert u de gegevens, verwijdert u de servergroep, maakt u een nieuwe servergroep en importeert u de gegevens.
- Als u de opslagklasse voor de gegevens wilt instellen, geeft u de parameter
Wanneer u de opdracht create uitvoert, wordt u gevraagd om het wachtwoord van de standaardgebruiker met postgres beheerdersrechten in te voeren. De naam van die gebruiker kan niet worden gewijzigd in deze preview. U kunt de interactieve prompt overslaan door de AZDATA_PASSWORD omgevingsvariabele voor de sessie in te stellen voordat u de opdracht create gaat uitvoeren.
Voorbeelden
Voer de volgende opdracht uit om een servergroep postgres versie 12 postgres01 te implementeren met twee werkknooppunten die dezelfde opslagklassen gebruiken als de gegevenscontroller:
az postgres arc-server create -n postgres01 --workers 2 --k8s-namespace <namespace> --use-k8s
Notitie
- Als u de gegevenscontroller hebt geïmplementeerd met behulp van omgevingsvariabelen en sessies in dezelfde terminalsessie, worden de waarden voor ook gebruikt om de
AZDATA_USERNAMEAZDATA_PASSWORDAZDATA_PASSWORDPostgreSQL Hyperscale-servergroep te implementeren. Als u liever een ander wachtwoord gebruikt, moet u (1) de waarde voor bijwerken of (2) de omgevingsvariabele verwijderen of (3) de waarde ervan verwijderen om interactief een wachtwoord in te voeren wanneer u eenAZDATA_PASSWORDAZDATA_PASSWORDservergroep maakt. - Als u een PostgreSQL Hyperscale-servergroep maakt, worden resources niet onmiddellijk geregistreerd in Azure. Als onderdeel van het uploaden van resource-inventaris- of gebruiksgegevens naar Azure, worden de resources gemaakt in Azure en kunt u uw resources in de Azure Portal.
De PostgreSQL Hyperscale-servergroepen opneren die zijn geïmplementeerd in uw Arc-gegevenscontroller
Voer de volgende opdracht uit om de PostgreSQL Hyperscale-servergroepen weer te geven die zijn geïmplementeerd in uw Arc-gegevenscontroller:
az postgres arc-server list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"replicas": 1,
"state": "Ready",
"workers": 2
}
De eindpunten om verbinding te maken met uw postgreSQL Hyperscale-servergroepen Azure Arc postgreSQL hyperscale
Voer de volgende opdracht uit om de eindpunten voor een PostgreSQL-servergroep weer te geven:
az postgres arc-server endpoint list -n <server group name> --k8s-namespace <namespace> --use-k8s
Bijvoorbeeld:
{
"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"
}
U kunt het eindpunt van het PostgreSQL-exemplaar gebruiken om vanuit uw favoriete hulpprogramma verbinding te maken met de PostgreSQL Hyperscale-servergroep: Azure Data Studio, pgcli psql, pgAdmin, enzovoort. Wanneer u dit doet, maakt u verbinding met het coördinatorknooppunt/exemplaar, dat zorgt voor het routeren van de query naar de juiste werkknooppunten/-instanties als u gedistribueerde tabellen hebt gemaakt. Lees de concepten van postgreSQL Hyperscale Azure Arc postgreSQL voor meer informatie.
Op dit moment gebruikt u de insiders-build van Azure Data Studio.
Speciale opmerking over implementaties van virtuele Azure-machines
Wanneer u een virtuele Azure-machine gebruikt, wordt het openbare IP-adres niet op het IP-adres van het eindpunt weer geven. Gebruik de volgende opdracht om het openbare IP-adres te vinden:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Vervolgens kunt u het openbare IP-adres combineren met de poort om verbinding te maken.
Mogelijk moet u ook de poort van de PostgreSQL Hyperscale-servergroep via de netwerkbeveiligingsgateway (NSG) blootstellen. Stel een regel in om verkeer via de (NSG) toe te staan. Als u een regel wilt instellen, moet u de naam van uw NSG kennen. U bepaalt de NSG met behulp van de onderstaande opdracht:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
Zodra u de naam van de NSG hebt, kunt u een firewallregel toevoegen met behulp van de volgende opdracht. Met de voorbeeldwaarden hier maakt u een NSG-regel voor poort 30655 en staat u verbinding toe vanaf elk bron-IP-adres.
Waarschuwing
U wordt aangeraden geen regel in te stellen om verbinding vanaf een bron-IP-adres toe te staan. U kunt dingen beter vergrendelen door een waarde op te geven die specifiek is voor uw client-IP-adres of een IP-adresbereik dat betrekking heeft op de IP-adressen van uw team of -source-address-prefixes organisatie.
Vervang de waarde van de --destination-port-ranges onderstaande parameter door het poortnummer dat u hebt via de az postgres arc-server list bovenstaande opdracht.
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 '*'
Verbinding maken met Azure Data Studio
Open Azure Data Studio en maak verbinding met uw exemplaar met het bovenstaande IP-adres en poortnummer van het externe eindpunt en het wachtwoord dat u hebt opgegeven op het moment dat u het exemplaar hebt gemaakt. Als PostgreSQL niet beschikbaar is in de vervolgkeuze lijst Verbindingstype, kunt u de PostgreSQL-extensie installeren door te zoeken naar PostgreSQL op het tabblad Extensies.
Notitie
U moet op de knop [Geavanceerd] in het verbindingsvenster klikken om het poortnummer in te voeren.
Als u een azure-VM gebruikt, hebt u het openbare IP-adres nodig, dat toegankelijk is via de volgende opdracht:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Verbinding maken met psql
Als u toegang wilt krijgen tot uw PostgreSQL Hyperscale-servergroep, geeft u het externe eindpunt door van de PostgreSQL Hyperscale-servergroep die u hierboven hebt opgehaald:
U kunt nu verbinding maken met psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
Volgende stappen
Verbinding maken naar uw Azure Arc postgreSQL Hyperscale: lees Verbindings-eindpunten en verbindingsreeksen op halen
Lees de concepten en handleidingen van Azure Database for PostgreSQL Hyperscale om uw gegevens te distribueren over meerdere PostgreSQL Hyperscale-knooppunten en om mogelijk te profiteren van betere prestaties:
- Knooppunten en tabellen
- Toepassingstype bepalen
- Een distributiekolom kiezen
- Tabelcolocatie
- Tabellen distribueren en bewerken
- Een database met meerdere tenants ontwerpen*
- Een realtime-analysedashboard ontwerpen*
* Sla in de bovenstaande documenten de secties Aanmelden bij de Azure Portal over & Een Azure Database for PostgreSQL maken - Hyperscale (Citus). Implementeert de resterende stappen in uw Azure Arc implementatie. Deze secties zijn specifiek voor de Azure Database for PostgreSQL Hyperscale (Citus) die worden aangeboden als een PaaS-service in de Azure-cloud, maar de andere onderdelen van de documenten zijn rechtstreeks van toepassing op uw PostgreSQL Hyperscale met Azure Arc-ondersteuning.
Uw Azure Arc voor PostgreSQL Hyperscale-servergroep uitschalen