Déployer une base de données PostgreSQL hautement disponible sur AKS avec Azure CLI
Dans ce guide, vous allez déployer un cluster PostgreSQL hautement disponible qui couvre plusieurs zones de disponibilité Azure sur AKS avec Azure CLI.
Cet article s’attarde sur les prérequis applicables à la configuration d’un cluster PostgreSQL sur Azure Kubernetes Service (AKS) et offre une vue d’ensemble du processus de déploiement complet et de l’architecture.
Important
Les logiciels open source sont mentionnés dans la documentation et les exemples AKS. Les logiciels que vous déployez sont exclus des contrats de niveau de service AKS, de la garantie limitée et du support Azure. Quand vous utilisez une technologie open source avec AKS, consultez les options de support disponibles auprès des communautés et responsables de projet respectifs pour élaborer un plan.
Par exemple, le dépôt GitHub Ray décrit plusieurs plateformes qui varient en fonction du temps de réponse, de la finalité et du niveau de support.
Microsoft assume la responsabilité de la génération des packages open source que nous déployons sur AKS. Cette responsabilité comprend la maîtrise complète des processus de génération, d’analyse, de signature et de validation ainsi que l’application de correctifs logiciels et le contrôle des fichiers binaires présents dans les images conteneur. Pour plus d’informations, consultez Gestion des vulnérabilités pour AKS et Couverture du support AKS.
Prérequis
- Ce guide suppose une compréhension de base des concepts clés de Kubernetes et de PostgreSQL.
- Vous avez besoin des rôles intégrés Propriétaire ou Administrateur d’accès utilisateur et Contributeur dans un abonnement de votre compte Azure.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Vous devez également avoir installé les ressources suivantes :
- Azure CLI, version 2.56 ou ultérieure.
- Extension de préversion d’Azure Kubernetes Service (AKS).
- jq version 1.5 ou ultérieure.
- kubectl version 1.21.0 ou ultérieure.
- Helm version 3.0.0 ou ultérieure.
- openssl version 3.3.0 ou ultérieure.
- Visual Studio Code ou équivalent.
- Krew version 0.4.4 ou ultérieure.
- Plug-in kubectl CloudNativePG (CNPG).
Processus de déploiement
Dans ce guide, vous apprendrez comment :
- Utiliser Azure CLI pour créer un cluster AKS multizone.
- Déployer un cluster et une base de données PostgreSQL hautement disponibles en utilisant l’opérateur CNPG.
- Configurer le monitoring pour PostgreSQL à l’aide de Prometheus et de Grafana.
- Déployer un exemple de jeu de données sur une base de données PostgreSQL.
- Effectuer des mises à niveau de cluster PostgreSQL et AKS.
- Simuler une interruption de cluster et un basculement de réplica PostgreSQL.
- Effectuer la sauvegarde et la restauration d’une base de données PostgreSQL.
Architecture de déploiement
Ce diagramme illustre une configuration de cluster PostgreSQL avec un réplica principal et deux réplicas en lecture managés par l’opérateur CloudNativePG (CNPG). L’architecture fournit une base de données PostgreSQL hautement disponible s’exécutant sur un cluster AKS capable de résister à une panne de zone en assurant une basculement entre réplicas.
Les sauvegardes sont stockées sur Stockage Blob Azure, ce qui offre un autre moyen de restaurer la base de données en cas de problème de réplication de streaming à partir du réplica principal.
Remarque
Pour les applications qui nécessitent une séparation des données au niveau de la base de données, vous pouvez ajouter d’autres bases de données avec des commandes postInitSQL et d’autres commandes similaires. Il n’est actuellement pas possible d’ajouter d’autres bases de données de manière déclarative avec l’opérateur CNPG. Découvrez-en plus sur l’opérateur CNPG.
Étapes suivantes
Contributeurs
Microsoft gère cet article. Les contributeurs suivants ont rédigé sa version d’origine :
- Ken Kitty | Responsable de programme technique principal
- Russell de Pina | Responsable de programme technique principal
- Adrian Joian | Ingénieur client senior
- Jenny Hayes | Développeuse de contenu confirmée
- Carol Smith | Développeuse de contenu confirmée
- Erin Schaffer | Développeuse de contenu 2
- Adam Sharif | Ingénieur client 2
Azure Kubernetes Service