Een PostgreSQL-server met Azure Arc maken vanuit CLI
In dit document worden de stappen beschreven voor het maken van een PostgreSQL-server in Azure Arc en om er verbinding mee te maken.
Vereisten
Voordat u verder kunt gaan met de taken in dit artikel, moet u over de benodigde hulpprogramma's beschikken. Voor alle implementaties zijn de volgende hulpprogramma's vereist:
Azure Data Studio
Azure Arc-extensie voor Azure Data Studio
Azure CLI (
az
)arcdata
extensie voor Azure CLIkubectl
Aanvullende clienthulpprogramma's, afhankelijk van uw omgeving. Zie Clienthulpprogramma's voor een uitgebreidere lijst.
Naast de vereiste hulpprogramma's hebt u een Azure Arc-gegevenscontroller nodig om de taken uit te voeren.
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 releaseopmerkingen.
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 gegevensservices met Azure Arc
- Connectiviteitsmodi en -vereisten
- Opslagconfiguratie en Kubernetes-opslagconcepten
- Kubernetes-resourcemodel
Als u dingen liever zelf wilt uitproberen zonder een volledige omgeving in te richten, gaat u snel aan de slag met Azure Arc Jumpstart op Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) of in een Azure-VM.
Voorlopige en tijdelijke stap alleen voor OpenShift-gebruikers
Implementeer deze stap voordat u naar de volgende stap gaat. Als u PostgreSQL-server wilt implementeren op Red Hat OpenShift in een ander project dan de standaardinstelling, moet u de volgende opdrachten uitvoeren op uw cluster om de beveiligingsbeperkingen bij te werken. Met deze opdracht worden de benodigde bevoegdheden verleend aan de serviceaccounts waarop uw PostgreSQL-server wordt uitgevoerd. De beveiligingscontextbeperking (SCC) arc-data-scc is de beperking die u hebt toegevoegd bij het implementeren van de Azure Arc-gegevenscontroller.
oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>
Servernaam is de naam van de server die u tijdens de volgende stap gaat maken.
Raadpleeg de OpenShift-documentatie voor meer informatie over SCCs in OpenShift. Ga door naar de volgende stap.
Een PostgreSQL-server met Azure Arc maken
Als u een PostgreSQL-server met Azure Arc wilt maken op uw Arc-gegevenscontroller, gebruikt u de opdracht az postgres server-arc create
waaraan u verschillende parameters doorgeeft.
Bekijk de uitvoer van de opdracht voor meer informatie over alle parameters die u tijdens het maken kunt instellen:
az postgres server-arc create --help
De belangrijkste parameters moeten rekening houden met:
de naam van de server die u wilt implementeren. Geef aan
--name
of-n
gevolgd door een naam waarvan de lengte niet langer mag zijn dan 11 tekens.De opslagklassen die u wilt gebruiken voor uw server. Het is belangrijk dat u de opslagklasse instelt op het moment dat u een server 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 de back-ups. Als u geen opslagklassen aangeeft, worden de opslagklassen van de gegevenscontroller standaard gebruikt.
- Als u de opslagklasse voor de back-ups wilt instellen, geeft u de parameter
--storage-class-backups
aan, gevolgd door de naam van de opslagklasse. Als u deze parameter uitsluit, worden automatische back-ups uitgeschakeld - Als u de opslagklasse voor de gegevens wilt instellen, geeft u de parameter
--storage-class-data
aan, gevolgd door de naam van de opslagklasse. - Als u de opslagklasse voor de logboeken wilt instellen, geeft u de parameter
--storage-class-logs
aan, gevolgd door de naam van de opslagklasse.
Belangrijk
Als u de opslagklasse na de implementatie wilt wijzigen, extraheert u de gegevens, verwijdert u de server, maakt u een nieuwe server en importeert u de gegevens.
- Als u de opslagklasse voor de back-ups wilt instellen, geeft u de parameter
Wanneer u de opdracht maken uitvoert, wordt u gevraagd om de gebruikersnaam en het wachtwoord voor de gebruiker met beheerdersrechten in te voeren. U kunt de interactieve prompt overslaan door de AZDATA_USERNAME
omgevingsvariabelen en AZDATA_PASSWORD
sessies in te stellen voordat u de opdracht maken uitvoert.
Voorbeelden
Voer de volgende opdracht uit om een PostgreSQL-server met de naam postgres01 te implementeren die dezelfde opslagklassen gebruikt als de gegevenscontroller:
az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s
Notitie
- Als u de gegevenscontroller hebt geïmplementeerd met behulp van
AZDATA_USERNAME
enAZDATA_PASSWORD
sessieomgevingsvariabelen in dezelfde terminalsessie, worden de waarden hiervoorAZDATA_PASSWORD
ook gebruikt om de PostgreSQL-server te implementeren. Als u liever een ander wachtwoord gebruikt, werkt u (1) de waarden voorAZDATA_USERNAME
enAZDATA_PASSWORD
of (2) verwijdert u deAZDATA_USERNAME
omgevingsvariabelen enAZDATA_PASSWORD
omgevingsvariabelen of (3) verwijdert u hun waarden om interactief een gebruikersnaam en wachtwoord in te voeren wanneer u een server maakt. - Als u een PostgreSQL-server maakt, worden resources niet onmiddellijk in Azure geregistreerd. Als onderdeel van het proces voor het uploaden van resource-inventaris - of gebruiksgegevens naar Azure, worden de resources gemaakt in Azure en kunt u uw resources zien in Azure Portal.
De PostgreSQL-servers weergeven die zijn geïmplementeerd in uw Arc-gegevenscontroller
Voer de volgende opdracht uit om de PostgreSQL-servers weer te geven die zijn geïmplementeerd in uw Arc-gegevenscontroller:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"state": "Ready"
}
Haal de eindpunten op om verbinding te maken met uw PostgreSQL-servers met Azure Arc
Voer de volgende opdracht uit om de eindpunten voor een PostgreSQL-server weer te geven:
az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s
Voorbeeld:
{
"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 PostgreSQL-exemplaareindpunt gebruiken om verbinding te maken met de PostgreSQL-server vanuit uw favoriete hulpprogramma: Azure Data Studio, pgcli psql, pgAdmin, enzovoort.
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 van het eindpunt niet weergegeven. 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 uw verbinding te maken.
Mogelijk moet u ook de poort van de PostgreSQL-server beschikbaar maken via de netwerkbeveiligingsgateway (NSG). Als u verkeer via de NSG wilt toestaan, stelt u een regel in. Als u een regel wilt instellen, moet u de naam van uw NSG weten. 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. De voorbeeldwaarden hier maken een NSG-regel voor poort 30655 en maken verbinding vanaf elk bron-IP-adres mogelijk.
Waarschuwing
Het wordt afgeraden om een regel in te stellen om verbinding vanaf een bron-IP-adres toe te staan. U kunt dingen beter vergrendelen door een -source-address-prefixes
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 organisatie.
Vervang de waarde van de --destination-port-ranges
onderstaande parameter door het poortnummer dat u hebt gekregen uit de az postgres server-arc 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 IP-adres en poortnummer van het externe eindpunt hierboven en het wachtwoord dat u hebt opgegeven op het moment dat u het exemplaar hebt gemaakt. Als PostgreSQL niet beschikbaar is in de vervolgkeuzelijst Verbindingstype , kunt u de PostgreSQL-extensie installeren door te zoeken naar PostgreSQL op het tabblad Extensies.
Notitie
Klik op de knop [Geavanceerd] in het verbindingsvenster om het poortnummer in te voeren.
Als u een Virtuele Azure-machine 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-server, geeft u het externe eindpunt door van de PostgreSQL-server die u hierboven hebt opgehaald:
U kunt nu verbinding maken met psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
Gerelateerde inhoud
Verbinding maken met uw PostgreSQL-server met Azure Arc: verbindingseindpunten en verbindingsreeksen ophalen lezen
* Sla in de bovenstaande documenten de secties Aanmelden bij Azure Portal over en maak een Azure Database for PostgreSQL. Implementeer de resterende stappen in uw Azure Arc-implementatie. Deze secties zijn specifiek voor de Azure Database for PostgreSQL-server die wordt aangeboden als een PaaS-service in de Azure-cloud, maar de andere delen van de documenten zijn rechtstreeks van toepassing op uw PostgreSQL-server met Azure Arc.