Bereitstellen einer hochverfügbaren PostgreSQL-Datenbank in AKS mithilfe der Azure CLI
In diesem Leitfaden stellen Sie mithilfe der Azure CLI einen hochverfügbaren PostgreSQL-Cluster bereit, der mehrere Azure-Verfügbarkeitszonen in AKS umfasst.
In diesem Artikel werden die Voraussetzungen für das Einrichten eines PostgreSQL-Clusters in Azure Kubernetes Service (AKS) erläutert. Zudem bietet er einen Überblick über den vollständigen Bereitstellungsprozess und die Architektur.
Wichtig
Open-Source-Software wird überall in AKS-Dokumenten und -Beispielen erwähnt. Software, die Sie bereitstellen, ist von AKS-Vereinbarungen zum Servicelevel, der eingeschränkten Garantie und dem Azure-Support ausgeschlossen. Wenn Sie Open-Source-Technologie zusammen mit AKS nutzen, nutzen Sie die Supportoptionen, die von den jeweiligen Communitys und Projektbetreuenden angeboten werden, um einen Plan zu entwickeln.
Das GitHub-Repository von Ray beschreibt z. B. mehrere Plattformen, die in Antwortzeit, Zweck und Supportebene variieren.
Microsoft übernimmt die Verantwortung für die Erstellung der Open-Source-Pakete, die wir in AKS bereitstellen. Diese Verantwortung schließt den vollständigen Besitz des Build-, Scan-, Signatur-, Validierungs- und Hotfixprozesses sowie die Kontrolle über die Binärdateien in Containerimages ein. Weitere Informationen finden Sie unter Sicherheitsrisikomanagement für AKS und AKS-Supportabdeckung.
Voraussetzungen
- In diesem Leitfaden wird ein grundlegendes Verständnis der Kubernetes-Kernkonzepte und PostgreSQL vorausgesetzt.
- Sie benötigen die integrierten Azure-Rollen Besitzer oder Benutzerzugriffsadministrator und Mitwirkender für ein Abonnement in Ihrem Azure-Konto.
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
Außerdem müssen die folgenden Ressourcen installiert sein:
- Azure-Befehlszeilenschnittstelle Version 2.56 oder höher
- AKS-Erweiterung (Azure Kubernetes Service) in der Vorschau
- jq, Version 1.5 oder höher
- kubectl, Version 1.21.0 oder höher
- Helm, Version 3.0.0 oder höher
- openssl, Version 3.3.0 oder höher
- Visual Studio Code oder ein ähnliches Tool
- Krew, Version 0.4.4 oder höher
- kubectl CloudNativePG-Plug-In (CNPG)
Bereitstellungsprozess
In diesem Artikel lernen Sie Folgendes:
- Verwenden der Azure CLI zum Erstellen eines AKS-Clusters mit mehreren Zonen
- Bereitstellen eines hochverfügbaren PostgreSQL-Clusters und einer Datenbank mithilfe des CNPG-Operators
- Einrichten der Überwachung für PostgreSQL mithilfe von Prometheus und Grafana
- Bereitstellen eines Beispieldatasets für eine PostgreSQL-Datenbank
- Durchführen von PostgreSQL- und AKS-Clusterupgrades
- Simulieren einer Clusterunterbrechung und eines PostgreSQL-Replikatfailovers
- Durchführen der Sicherung und Wiederherstellung einer PostgreSQL-Datenbank
Bereitstellungsarchitektur
Dieses Diagramm veranschaulicht ein PostgreSQL-Clustersetup mit einem primären Replikat und zwei Lesereplikaten, die vom CloudNativePG-Operator (CNPG) verwaltet werden. Die Architektur bietet eine hochverfügbare PostgreSQL-Instanz, die auf einem AKS-Cluster ausgeführt wird, der einem Zonenausfall standhalten kann, indem ein replikatübergreifender Failover ausgeführt wird.
Sicherungen werden in Azure Blob Storage gespeichert und bieten eine weitere Möglichkeit, die Datenbank im Falle eines Problems mit der Streamingreplikation über das primäre Replikat wiederherzustellen.
Hinweis
Bei Anwendungen, für die Datentrennung auf Datenbankebene nötig ist, können Sie mit postInitSQL und ähnlichen Befehlen weitere Datenbanken hinzufügen. Im Moment ist es nicht möglich, mit einem CNPG-Operator weitere Datenbanken auf deklarative Weise hinzuzufügen. Hier erfahren Sie mehr zum CNPG-Operator.
Nächste Schritte
Beitragende
Microsoft pflegt diesen Artikel. Die folgenden Mitwirkenden haben es ursprünglich geschrieben:
- Ken Kilty | Principal TPM
- Russell de Pina | Principal TPM
- Adrian Joian | Senior Customer Engineer
- Jenny Hayes | Senior Content Developer
- Carol Smith | Senior Content Developer
- Erin Schaffer | Content Developer 2
- Adam Sharif | Customer Engineer 2
Azure Kubernetes Service