Delen via


Overzicht van het implementeren van een maximaal beschikbare PostgreSQL-database in Azure Kubernetes Service (AKS)

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.

Microsoft neemt de verantwoordelijkheid voor het bouwen van de opensource-pakketten die we implementeren op AKS. Deze verantwoordelijkheid omvat het volledige eigendom van het bouw-, scan-, onderteken-, validatie- en hotfixproces, samen met controle over de binaire bestanden in container images. Zie Beveiligingsbeheer voor AKS- en AKS-ondersteuningsdekking voor meer informatie.

Vereiste voorwaarden

  • In deze handleiding wordt ervan uitgegaan dat u basiskennis hebt van de basisconcepten van Kubernetes en PostgreSQL.
  • U hebt de rol eigenaar of beheerder van gebruikerstoegang en de rol Bijdrager in de ingebouwde rollen van Azure nodig voor een abonnement in uw Azure-account.

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.

U kunt Ervoor kiezen Om PostgreSQL op AKS te hosten wanneer u volledige controle nodig hebt over databaseconfiguratie, extensies en implementatiearchitectuur. Het is ideaal om nauw te integreren met hulpprogramma's van Kubernetes, het optimaliseren van de kosten op schaal en het verfijnen van prestaties via aangepaste resourcetoewijzing, cachingstrategieën en opslagconfiguraties die zijn afgestemd op uw workload.

Architectuurdiagram van CNPG Kubernetes-operator voor het zelf hosten van een maximaal beschikbare PostgreSQL-database op AKS.

Opmerking

Voor toepassingen waarvoor gegevensscheiding op databaseniveau is vereist, kunt u meer databases toevoegen met postInitSQL-opdrachten en dergelijke. Het is momenteel niet mogelijk om meer databases toe te voegen op een declaratieve manier met de CNPG-operator. Meer informatie over de CNPG-operator.

Overwegingen voor opslag

Het type opslag dat u gebruikt, kan grote gevolgen hebben voor postgreSQL-prestaties. Verderop in deze handleiding selecteert u de optie die het meest geschikt is voor uw doelstellingen en prestatiebehoeften.

Opslagtype Compatibel stuurprogramma Beschrijving
Premium SSD Azure Disks CSI-stuurprogramma Maximale gegevenstolerantie. Azure Premium SSD biedt krachtige opslag en werkt naadloos met Azure Premium zone-redundante opslag (ZRS). Premium SSD wordt ingericht op basis van specifieke grootten, die elk bepaalde IOPS- en doorvoerniveaus bieden.
Premium SSD v2 Azure Disks CSI-stuurprogramma Beste prijs-kwaliteitverhouding. Azure Premium SSD v2 biedt hogere prestaties dan Azure Premium SSD's, terwijl het over het algemeen ook goedkoper is. In tegenstelling tot Premium SSD's heeft Premium SSD v2 geen vaste maten. U kunt een Premium SSD v2 instellen op elke ondersteunde grootte die u verkiest en gedetailleerde aanpassingen aan de prestaties maken zonder onderbreking. Azure Premium SSD v2-schijven hebben bepaalde beperkingen waarvan u rekening moet houden. Zie Premium SSD v2-beperkingen voor een volledige lijst.
Lokale NVMe of tijdelijke SSD (tijdelijke schijven) Alleen Storage voor Azure Containers Maximale prestaties. Tijdelijke schijven zijn lokale NVMe- en tijdelijke SSD-opslag die beschikbaar zijn voor bepaalde VM-families. Ze bieden de hoogst mogelijke IOPS, doorvoer en latentie van submilliseconden voor uw AKS-cluster. U kunt ook profiteren van de hoge prestaties van kortstondige schijven met behulp van Azure Container Storage, een beheerde Kubernetes-opslagoplossing waarmee permanente volumes dynamisch worden voorbereid voor stateful workloads zoals PostgreSQL. Omdat deze schijven zich echter op de lokale VM's bevinden die als host fungeren voor het cluster, worden gegevens niet bewaard in een Azure-opslagservice. Als gevolg hiervan gaan alle gegevens die op deze schijven zijn opgeslagen verloren als het cluster is gestopt of de toewijzing ervan ongedaan wordt gemaakt. Om deze beperking te verhelpen, laten latere secties in deze handleiding zien hoe u periodieke back-ups van uw PostgreSQL-gegevens instelt op Azure Blob Storage.

Volgende stappen

Bijdragers

Microsoft onderhoudt dit artikel. De volgende inzenders hebben het oorspronkelijk geschreven:

  • Ken Kilty | Hoofd TPM
  • Russell de Pina | Principal TPM
  • Adrian Joian | Senior klanttechnicus
  • Jenny Hayes | Senior Content Developer
  • Carol Smith | Senior Content Developer
  • Erin Schaffer | Inhoudsontwikkelaar 2
  • Adam Sharif | Klanttechnicus 2

Erkenning

Deze documentatie is gezamenlijk ontwikkeld met EnterpriseDB, de onderhouders van de CloudNativePG-operator. We danken Gabriele Bartolini voor het bekijken van eerdere concepten van dit document en het aanbieden van technische verbeteringen.