Disponibilità elevata per i contenitori di SQL Server

Si applica a:SQL Server - 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 una richiesta di volume persistente 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 un'istanza di SQL Server in Kubernetes

Kubernetes 1.6 e versioni successive supportano le classi di archiviazione, le richieste di volumi persistenti e il tipo di volume del disco di Azure.

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

Diagram showing a Kubernetes SQL Server cluster.

Nel diagramma precedente mssql-server è un'istanza di SQL Server (contenitore) in un pod. Un set di repliche 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 si verifica un errore in un nodo che ospita un contenitore con un'istanza di SQL Server, viene eseguito il bootstrap di un nuovo contenitore con un'istanza di SQL Server e viene collegato alla stessa risorsa di archiviazione permanente.

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