SQL Server 容器的高可用性

適用於:Linux 上的 SQL Server

在 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 扮演容器協調者的角色。

Kubernetes 叢集架構的示意圖,顯示應用程式透過服務連接到一個在副本集中運行 mssql-server 容器的 Pod,並由跨多個節點的持久磁碟區作為後盾。

在前述圖中,mssql-server 是pod中的一個SQL Server實例(容器)。 複本集可確保 Pod 會在節點失敗後自動復原。 應用程式會連線至服務。 在此情況下,這個服務代表一個負載平衡器,其承載的 IP 位址在 mssql-server 發生故障後依然保持不變。

Kubernetes 會協調叢集中的資源。 裝載 SQL Server 執行個體容器的節點失敗時,會啟動具有 SQL Server 執行個體的新容器,並將其附加至相同的永續性儲存體。

Linux 上的 SQL Server 支援 Kubernetes 容器、OpenShift 及 DH2i DxEnterprise。