Partager via


Haute disponibilité des conteneurs SQL Server

S’applique à : SQL Server - Linux

Créer et gérer vos instances SQL Server en mode natif dans Kubernetes.

Déployez SQL Server sur des conteneurs Docker managés par Kubernetes. Dans Kubernetes, un conteneur avec une instance de SQL Server peut être récupéré automatiquement en cas de défaillance d’un nœud de cluster.

SQL Server 2017 fournit une image Docker qui peut être déployée sur Kubernetes. Vous pouvez configurer l’image avec une revendication de volume persistant Kubernetes (PVC). Kubernetes surveille le processus de SQL Server dans le conteneur. En cas d’échec du processus, du pod, du conteneur ou du nœud, Kubernetes démarre automatiquement une autre instance et se reconnecte au stockage.

Conteneur avec instance SQL Server sur Kubernetes

Kubernetes 1.6 et versions ultérieures prend en charge les classes de stockage, les revendications de volume persistant et le type de volume de disque Azure.

Dans cette configuration, Kubernetes joue le rôle de l’orchestrateur de conteneur.

Diagramme montrant un cluster SQL Server Kubernetes.

Dans le diagramme précédent, mssql-server est une instance SQL Server (conteneur) dans un pod. Un jeu de réplicas garantit que le pod est automatiquement récupéré après une défaillance de nœud. Les applications se connectent au service. Dans ce cas, le service représente un équilibreur de charge qui héberge une adresse IP restant la même après la défaillance de mssql-server.

Kubernetes orchestre les ressources dans le cluster. Lorsqu’un nœud hébergeant un conteneur d’instance SQL Server échoue, il fait démarrer un nouveau conteneur avec une instance SQL Server et l’attache au même stockage persistant.

SQL Server sur Linux prend en charge les conteneurs sur Kubernetes, OpenShift et D2Hi.