Disponibilità elevata per i contenitori di SQL Server

Si applica a:SQL Server su Linux

Creare e gestire le istanze di SQL Server in modo nativo in Kubernetes.

Distribuire SQL Server in contenitori Docker gestiti da Kubernetes. In Kubernetes un contenitore con un'istanza di SQL Server può essere ripristinato automaticamente in caso di errore di un nodo del cluster.

SQL Server 2017 introduce un'immagine Docker che può essere distribuita in Kubernetes. È possibile configurare l'immagine con un Persistent Volume Claim (PVC) Kubernetes. Kubernetes monitora il processo di SQL Server nel contenitore. In caso di problemi di un processo, un pod, un contenitore o un nodo, Kubernetes esegue automaticamente il bootstrap di un'altra istanza ed esegue la riconnessione alla risorsa di archiviazione.

Contenitore con istanza di SQL Server in Kubernetes

Kubernetes 1.6 e versioni successive includono il supporto per le classi di archiviazione, le richieste di volume persistente e il tipo di volume del disco Azure.

In questa configurazione Kubernetes svolge il ruolo di agente di orchestrazione del contenitore.

Diagramma di un'architettura del cluster Kubernetes che mostra un'applicazione che si connette tramite un servizio a un pod che esegue il contenitore mssql-server in un set di repliche, supportato da un volume permanente in più nodi.

Nel diagramma precedente mssql-server è un'istanza di SQL Server (contenitore) in un pod. Un Replica Set garantisce che il pod venga automaticamente ripristinato dopo un errore del nodo. Le applicazioni si connettono al servizio. In questo caso, il servizio rappresenta un servizio di bilanciamento del carico che ospita un indirizzo IP che rimane invariato dopo l'errore di mssql-server.

Kubernetes orchestra le risorse nel cluster. Quando un nodo che ospita un contenitore di istanze di SQL Server ha esito negativo, esegue il bootstrap di un nuovo contenitore con un'istanza di SQL Server e lo collega alla stessa risorsa di archiviazione permanente.

SQL Server on Linux supporta i contenitori in Kubernetes, OpenShift e DH2i.