Alta disponibilidade para contêineres do SQL Server

Aplica-se a:SQL Server em Linux

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

Implementar o SQL Server para contentores Docker geridos pelo Kubernetes. Em Kubernetes, um container com uma instância do SQL Server pode recuperar-se automaticamente em caso de falha de um nó do cluster.

O SQL Server 2017 introduziu uma imagem Docker que pode ser implementada no Kubernetes. Pode configurar a imagem com um pedido de volume persistente (PVC) do Kubernetes. O Kubernetes monitora o processo do SQL Server no contêiner. Se o processo, pod, contentor ou nó falhar, o Kubernetes cria automaticamente outra instância e restabelece a ligação ao armazenamento.

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

O Kubernetes 1.6 e posteriores tem suporte para classes de armazenamento, reivindicações de volume persistente e o tipo de volume de disco do Azure.

Nessa configuração, o Kubernetes desempenha o papel de orquestrador de contêineres.

Diagrama de uma arquitetura de cluster Kubernetes mostrando uma aplicação a conectar-se através de um serviço a um pod executando o container mssql-server num conjunto de réplicas, baseado em um volume persistente distribuído por vários nós.

No diagrama anterior, mssql-server é uma instância do SQL Server (contêiner) em um pod. Um conjunto de réplicas garante que o pod seja recuperado automaticamente após uma falha de nó. Os aplicativos se conectam 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 no Linux suporta contentores em Kubernetes, OpenShift e DH2i DxEnterprise.