Alta disponibilidade para contêineres do SQL Server

Aplica-se a:SQL Server – Linux

Crie e gerencie instâncias do SQL Server nativamente no Kubernetes.

Implante o SQL Server em contêineres do Docker gerenciados pelo Kubernetes. No Kubernetes, um contêiner com uma instância do SQL Server pode se recuperar automaticamente caso um nó de cluster falhe.

O SQL Server 2017 introduz uma imagem do Docker que pode ser implantada no Kubernetes. Você pode configurar a imagem com um PVC (declaração de volume persistente) do Kubernetes. O Kubernetes monitora o processo do SQL Server no contêiner. Se o processo, Pod, contêiner ou nó falhar, o Kubernetes inicializará outra instância automaticamente e se reconectará ao armazenamento.

Contêiner com instância do SQL Server no Kubernetes

O Kubernetes 1.6 e posterior tem suporte para classes de armazenamento, declarações de volume persistentes e o tipo de volume de disco do Azure.

Nessa configuração, o Kubernetes desempenha a função do orquestrador de contêineres.

Diagram showing a Kubernetes SQL Server cluster.

No diagrama anterior, mssql-server é uma instância do SQL Server (contêiner) em um pod. Um conjunto de réplicas verifica se o pod está recuperado automaticamente após uma falha de nó. Os aplicativos conectam-se ao serviço. Nesse caso, o serviço representa um balanceador de carga que hospeda um endereço IP que permanece o mesmo após a falha do mssql-server.

O Kubernetes orquestra os recursos no cluster. Quando um nó que hospeda um contêiner de instância do SQL Server falha, ele inicializa um novo contêiner com uma instância do SQL Server e o anexa ao mesmo armazenamento persistente.

O SQL Server em Linux é compatível com contêineres no Kubernetes, OpenShift e D2Hi.