SQL Server 容器的高可用性

适用于:SQL Server - Linux

在 Kubernetes 中本机创建和管理 SQL Server 实例。

将 SQL Server 部署到由 Kubernetes 管理的 Docker 容器。 在 Kubernetes 中,具有 SQL Server 实例的容器可以在群集节点出现故障时自动进行恢复。

SQL Server 2017 引入了可以在 Kubernetes 上部署的 Docker 映像。 可以使用 Kubernetes 持久卷声明 (PVC) 来配置映像。 Kubernetes 监视容器中的 SQL Server 进程。 如果进程、Pod、容器或节点发生故障,Kubernetes 将自动启动另一个实例,并重新连接到存储。

Kubernetes 上存在具有 SQL Server 实例的容器

Kubernetes 1.6 及更高版本支持存储类持久卷声明Azure 磁盘卷类型

在此配置中,Kubernetes 扮演容器业务流程协调程序一角。

Diagram showing a Kubernetes SQL Server cluster.

在上图中,mssql-serverPod 中的 SQL Server 实例(容器)副本集可确保在节点发生故障后自动恢复 Pod。 应用程序会连接到服务。 在这种情况下,该服务表示负载均衡器,承载着 mssql-server 发生故障后保持不变的 IP 地址。

Kubernetes 协调群集中的资源。 如果承载 SQL Server 实例容器的节点发生故障,该节点会使用 SQL Server 实例来启动新容器,并将其附加到同一个持久存储上。

Linux 上的 SQL Server 支持 Kubernetes、OpenShift 和 D2Hi 上的容器。