Een maximaal beschikbare PostgreSQL-database implementeren in AKS met Azure CLI
In deze handleiding implementeert u een maximaal beschikbaar PostgreSQL-cluster dat meerdere Azure-beschikbaarheidszones omvat op AKS met Azure CLI.
In dit artikel worden de vereisten beschreven voor het instellen van een PostgreSQL-cluster in Azure Kubernetes Service (AKS) en vindt u een overzicht van het volledige implementatieproces en de volledige architectuur.
Belangrijk
Opensource-software wordt vermeld in AKS-documentatie en -voorbeelden. Software die u implementeert, is uitgesloten van AKS-serviceovereenkomsten, beperkte garantie en ondersteuning voor Azure. Wanneer u opensource-technologie naast AKS gebruikt, raadpleegt u de beschikbare ondersteuningsopties van de respectieve community's en projectonderhouders om een plan te ontwikkelen.
De Ray GitHub-opslagplaats beschrijft bijvoorbeeld verschillende platforms die variëren in reactietijd, doel en ondersteuningsniveau.
Microsoft neemt de verantwoordelijkheid voor het bouwen van de opensource-pakketten die we implementeren op AKS. Deze verantwoordelijkheid omvat het volledige eigendom van het build-, scan-, teken-, validatie- en hotfixproces, samen met controle over de binaire bestanden in containerinstallatiekopieën. Zie Beveiligingsbeheer voor AKS- en AKS-ondersteuningsdekking voor meer informatie.
Vereisten
- In deze handleiding wordt ervan uitgegaan dat u basiskennis hebt van de basisconcepten van Kubernetes en PostgreSQL.
- U hebt de eigenaar of beheerder van gebruikerstoegang en de ingebouwde rollen in Inzender van Azure nodig voor een abonnement in uw Azure-account.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
U hebt ook de volgende resources geïnstalleerd:
- Azure CLI versie 2.56 of hoger.
- Preview-extensie voor Azure Kubernetes Service (AKS).
- jq, versie 1.5 of hoger.
- kubectl versie 1.21.0 of hoger.
- Helm-versie 3.0.0 of hoger.
- openssl versie 3.3.0 of hoger.
- Visual Studio Code of gelijkwaardig.
- Krew versie 0.4.4 of hoger.
- Invoegtoepassing kubectl CloudNativePG (CNPG).
Implementatieproces
In deze handleiding leert u het volgende:
- Gebruik Azure CLI om een AKS-cluster met meerdere zones te maken.
- Implementeer een postgreSQL-cluster en -database met hoge beschikbaarheid met behulp van de CNPG-operator.
- Bewaking voor PostgreSQL instellen met Prometheus en Grafana.
- Een voorbeeldgegevensset implementeren in een PostgreSQL-database.
- PostgreSQL- en AKS-clusterupgrades uitvoeren.
- Simuleer een onderbreking van een cluster en een PostgreSQL-replicafailover.
- Back-up en herstel uitvoeren van een PostgreSQL-database.
Implementatiearchitectuur
Dit diagram illustreert het instellen van een PostgreSQL-cluster met één primaire replica en twee leesreplica's die worden beheerd door de OPERATOR CloudNativePG (CNPG). De architectuur biedt een maximaal beschikbare PostgreSQL die wordt uitgevoerd op een AKS-cluster dat bestand is tegen een zonestoring door failover van replica's uit te voeren.
Back-ups worden opgeslagen in Azure Blob Storage en bieden een andere manier om de database te herstellen in het geval van een probleem met streamingreplicatie van de primaire replica.
Notitie
Voor toepassingen waarvoor gegevensscheiding op databaseniveau is vereist, kunt u meer databases toevoegen met postInitSQL-opdrachten en dergelijke. Het is momenteel niet mogelijk met de CNPG-operator om meer databases op een declaratieve manier toe te voegen. Meer informatie over de CNPG-operator.
Volgende stappen
Medewerkers
Microsoft onderhoudt dit artikel. De volgende inzenders hebben het oorspronkelijk geschreven:
- Ken Kilty | Principal TPM
- Russell de Tina | Principal TPM
- Adrian Joian | Senior klanttechnicus
- Jenny Hayes | Senior Content Developer
- Carol Smith | Senior Content Developer
- Erin Schaffer | Inhoudsontwikkelaar 2
- Adam Sharif | Klanttechnicus 2
Azure Kubernetes Service