共用方式為


快速入門:使用 Helm 圖表將 SQL Server Linux 容器部署至 Kubernetes

適用於:SQL Server - Linux

本快速入門會逐步引導您使用 Helm 圖表,從 Windows 用戶端機器將 Linux 上的 SQL Server 容器部署至 Azure Kubernetes Service (AKS)。

AKS 是用來部署及管理容器叢集的受控 Kubernetes 服務。 Helm 是開放原始碼的封裝工具,可協助您安裝和管理 Kubernetes 應用程式的生命週期。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,您可以建立免費帳戶

  • 建立 AKS 叢集

  • 下載並檢閱本快速入門的範例 Helm 圖表。 此範例圖表包含許多自訂 SQL Server 部署的設定選項。

安裝用戶端工具

在 Windows 用戶端機器上,您將需要下列工具。

  • 適用於 Windows 的 Azure CLI
  • 適用於 Windows 的 Helm

如果想要使用不同的用戶端作業系統,則必須選取該平台適用的套件。

使用 Az PowerShell 模組安裝 kubectl

您使用 kubectl 與 Kubernetes 叢集互動。 如需詳細資訊,請參閱 az aks install-cli

若要安裝 kubectl,請從 Windows 命令提示字元執行下列命令:

az aks install-cli

提示

您可以將 kubectl 新增至本機 PATH 環境變數,如此就不需要每次都輸入完整路徑。

將 kubectl 連線至 AKS 叢集

  1. 您必須合併 AKS 叢集的內容,以便 kubectlhelm 命令在該 AKS 叢集上執行。

    若要合併,請執行連線至 AKS 叢集一文中說明的命令:

    az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
    

    您應該會看到下列輸出,其中,<clustername> 是您提供的叢集,而 <username> 是您的本機 Windows 使用者帳戶:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. 執行 kubectl get nodes 以確認合併成功。 輸出應該會在您 AKS 叢集的內容中顯示節點。

    NAME                    STATUS   ROLES   AGE    VERSION
    <aks-node>-vmss000000   Ready    agent   141d   v1.16.13
    <aks-node>-vmss000001   Ready    agent   141d   v1.16.13
    

檢閱範例 Helm 圖表

現在您已準備就緒,可透過 Helm 圖表在 AKS 叢集上部署 SQL Server。

本快速入門提供「原狀」Helm 圖表範例。 此範例僅供參考。 請務必檢閱 readme 檔案,以了解符合您的設定需求的設定值。

如果您想要以 StatefulSet 模式部署 SQL Server (這是 SQL Server 部署的建議模式),可以改為查看基於 StatefulSet 模式的 Helm 圖表範例部署。

  1. 下載範例 Helm 圖表

  2. 切換至您下載範例圖表的目錄,並視需要修改 values.yaml 檔案。

將 SQL Server 部署至 AKS 叢集

使用下列命令部署 SQL Server。 部署名稱是可自訂的,因此您可以將 mssql-latest-deploy 變更為您想要的任何內容。

helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer

當你部署 SQL Server 2025(17.x)或更新版本的容器時,請使用 MSSQL_PID=DeveloperStandard 標準開發者版和 MSSQL_PID=Developer 企業開發者版。

在先前的範例中,圖表及其檔案都位於現行目錄中,以句點 (.) 表示。 您想要的話,可以指定圖表的路徑。

如果成功,您會看到如下的輸出:

NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1

驗證 SQL Server 部署

部署至 Kubernetes 叢集可能需要幾分鐘的時間。 若要確認部署已成功,請執行下列命令:

kubectl get all

如果成功,您會看到如下的輸出:

NAME                                      READY   STATUS    RESTARTS   AGE
pod/mssql-latest-deploy-7f8c7f5bc-9grmg   1/1     Running   0          2m56s

NAME                          TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/kubernetes            ClusterIP      10.0.0.1       <none>        443/TCP          141d
service/mssql-latest-deploy   LoadBalancer   10.0.247.220   20.40.0.145   1433:30780/TCP   2m56s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mssql-latest-deploy   1/1     1            1           2m56s

NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/mssql-latest-deploy-7f8c7f5bc   1         1         1       2m56s

連線至執行於 AKS 上的 SQL Server

您可以使用任何熟悉的 SQL Server 用戶端工具連線到 SQL Server 執行個體,例如 sqlcmdSQL Server Management Studio (SSMS)Visual Studio Code 的 MSSQL 延伸模組

例如,如果您使用 SSMS 連線至 SQL Server 執行個體,則可以使用下列設定:

  • 伺服器名稱:使用 External-IP 服務的 mssql-latest-deploy 位址。 在此範例中為 20.40.0.145
  • 認證:從下拉式清單中選取 [SQL Server 驗證]
  • 登入: 使用 sa,這是系統管理員帳戶。
  • 密碼: 密碼 sa 符合您在 Helm 圖表檔案中 MSSQL_SA_PASSWORD 組態選項 values.yaml 中提供的值。

連線之後,您將能夠在物件總管中展開 SQL Server 執行個體。

此螢幕擷取畫面顯示連線至資料庫執行個體的物件總管。

清除資源

如果您不打算繼續使用 AKS 叢集,請記得刪除您的叢集