Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container te draaien. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Je moet ook de volgende middelen geïnstalleerd hebben:
- Azure CLI versie 2.56 of hoger.
- 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.
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.
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.