共用方式為


使用 Python 腳本在 Azure Kubernetes Service 上部署 SQL Server 巨量數據叢集 (AKS)

適用於:SQL Server 2019 (15.x)

Important

MICROSOFT SQL Server 2019 巨量數據叢集已淘汰。 SQL Server 2019 巨量數據叢集的支援已於 2025 年 2 月 28 日結束。 如需詳細資訊,請參閱 Microsoft SQL Server 平臺上的公告部落格文章和巨量數據選項。

在本教學課程中,您會使用範例 Python 部署腳本,將 SQL Server 2019 巨量數據叢集部署至 Azure Kubernetes Service (AKS)。

Tip

AKS 是裝載巨量數據叢集 Kubernetes 的其中一個選項。 若要瞭解其他部署選項以及如何自定義部署選項,請參閱 如何在 Kubernetes 上部署 SQL Server 巨量數據叢集

這裡使用的預設巨量數據叢集部署包含 SQL 主要實例、一個計算集區實例、兩個數據集區實例,以及兩個存放集區實例。 數據會使用 Kubernetes 永續性磁碟區,這些磁碟區採用 AKS 既定的儲存類別來保存。 本教學課程中使用的預設組態適用於開發/測試環境。

Prerequisites

  • Azure 訂用帳戶。
  • 巨量資料工具
    • azdata
    • kubectl
    • Azure Data Studio
    • SQL Server 2019 擴充功能
    • Azure CLI

登入您的 Azure 帳戶

腳本會使用 Azure CLI 將 AKS 叢集的建立自動化。 執行腳本之前,您必須至少使用 Azure CLI 登入 Azure 帳戶一次。 從命令提示字元執行下列命令。 如需詳細資訊,請參閱使用 Azure CLI 登入

az login

下載部署腳本

本教學課程會使用 python 腳本 deploy-sql-big-data-aks.py,自動在 AKS 上建立巨量數據叢集。 如果您已安裝 適用於 azdata 的 Python,您應該能夠在本教學課程中順利執行腳本。

在 Windows PowerShell 或 Linux bash 提示字元中,執行下列命令,從 GitHub 下載部署腳本。

curl -o deploy-sql-big-data-aks.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/aks/deploy-sql-big-data-aks.py"

執行部署指令碼

使用下列步驟,在 Windows PowerShell 或 Linux Bash 提示字元中執行部署腳本。 此腳本會在 Azure 中建立 AKS 服務,然後將 SQL Server 2019 巨量數據叢集部署到 AKS。 您也可以使用其他 環境變數 修改腳本,以建立自定義部署。

  1. 使用下列命令來執行指令碼:

    python deploy-sql-big-data-aks.py
    

    Note

    如果您的用戶端計算機和路徑中同時有 python3 和 python2,則必須使用 python3 執行命令: python3 deploy-sql-big-data-aks.py

  2. 出現提示時,請輸入下列資訊:

    Value Description
    Azure 訂用帳戶標識碼 要用於 AKS 的 Azure 訂用帳戶標識碼。 您可以從另一個命令行執行 az account list ,以列出所有訂用帳戶及其標識碼。
    Azure 資源群組 要為 AKS 叢集建立的 Azure 資源組名。
    Azure region 新 AKS 叢集的 Azure 區域(預設 westus)。
    Machine size 要用於 AKS 叢集中節點的電腦 大小 (預設 Standard_D16s_v3)。
    Worker nodes AKS 叢集中的工作節點數目(預設值 1)。
    Cluster name AKS 叢集和巨量數據叢集的名稱。 巨量數據叢集的名稱必須只有小寫英數位元,而且沒有空格。 (default sqlbigdata).
    Password 控制器、HDFS/Spark 閘道和主要實例的密碼(預設 MySQLBigData2019)。
    Username 控制器用戶的使用者名稱(預設值: admin)。

    Important

    在每個 Azure 區域中,預設的 Standard_D16s_v3 機器規格可能無法使用。 如果您選取不同的電腦大小,請確定叢集中節點可連結的磁碟總數大於或等於 24。 叢集中的每個永續性磁碟區宣告都需要連結的磁碟。 目前,巨量數據叢集需要 24 個持久性磁碟區要求。

    執行下列命令來識別可用的 VM 類型。

    az vm list-sizes --query "sort_by(@,&name)[?contains(name,'Standard_D16s')]" -l westus2 -o table
    

    Note

    SQL Server sa 帳戶會在巨量數據叢集部署期間停用。 新的系統管理員登入會在 SQL Server 主要實例中布建,其名稱與使用者 名稱輸入所 指定的名稱相同,以及對應至 密碼 輸入的密碼。 相同的 使用者 名稱和 密碼 值用於布建控制器系統管理員使用者。 在 SQL Server 2019 CU5 之前部署的叢集上,唯一支援閘道的使用者是 root ,且密碼與上述相同。

    從 SQL Server 2019 (15.x) CU 5 開始,當您部署具有基本身份驗證的新叢集時,所有端點(包括閘道)使用 AZDATA_USERNAMEAZDATA_PASSWORD。 升級至 CU 5 之叢集上的端點會繼續使用 root 作為使用者名稱來連線至閘道端點。 這項變更不適用於使用 Active Directory 驗證的部署。 請參閱在版本資訊中的透過閘道端點存取服務的憑證

  3. 腳本一開始會使用您指定的參數來建立 AKS 叢集。 此步驟需要幾分鐘的時間。

監視狀態

腳本建立 AKS 叢集之後,它會使用您稍早指定的設定,繼續設定必要的環境變數。 然後它會呼叫 azdata ,在 AKS 上部署巨量數據叢集。

用戶端命令視窗會輸出部署狀態。 在部署程序期間,您應該會看到一系列訊息,其中正在等候控制器容器。

2018-11-15 15:42:02.0209 UTC | INFO | Waiting for controller pod to be up...

在 10 到 20 分鐘之後,您應該會收到控制器模組 (Pod) 正在執行的通知訊息:

2018-11-15 15:50:50.0300 UTC | INFO | Controller pod is running.
2018-11-15 15:50:50.0585 UTC | INFO | Controller Endpoint: https://111.111.111.111:30080

Important

由於下載巨量數據叢集元件容器映射所需的時間,整個部署可能需要很長的時間。 不過,它不應該花費數小時。 如果您遇到部署問題,請參閱 監視 SQL Server 巨量數據叢集並進行疑難解答

檢查叢集

在部署期間,您可以隨時使用 kubectlazdata 來檢查執行中巨量數據叢集的狀態和詳細數據。

Use kubectl

開啟新的命令視窗,以在部署程序期間使用 kubectl

  1. 執行下列命令以取得整個叢集狀態的摘要:

    kubectl get all -n <your-big-data-cluster-name>
    

    Tip

    如果您未變更巨量數據叢集名稱,腳本會預設為 sqlbigdata

  2. 使用下列 kubectl 命令檢查 kubernetes 服務及其內部和外部端點:

    kubectl get svc -n <your-big-data-cluster-name>
    
  3. 您也可以使用下列命令來檢查 kubernetes Pod 的狀態:

    kubectl get pods -n <your-big-data-cluster-name>
    
  4. 使用下列命令瞭解特定 Pod 的詳細資訊:

    kubectl describe pod <pod name> -n <your-big-data-cluster-name>
    

Tip

如需如何監視和疑難解答部署的詳細資訊,請參閱 監視和疑難解答 SQL Server 巨量數據叢集

連接至叢集

當部署文稿完成時,輸出會通知您成功:

2018-11-15 16:10:25.0583 UTC | INFO | Cluster state: Ready
2018-11-15 16:10:25.0583 UTC | INFO | Cluster deployed successfully.

SQL Server 巨量數據叢集現在已部署在 AKS 上。 您現在可以使用 Azure Data Studio 連線到叢集。 如需詳細資訊,請參閱 使用 Azure Data Studio 連線到 SQL Server 巨量數據叢集

Clean up

如果您要在 Azure 中測試 SQL Server 巨量資料叢集,您應該在完成時刪除 AKS 叢集,以避免產生非預期的費用。 如果您想要繼續使用叢集,請勿移除叢集。

Warning

下列步驟也會卸除 AKS 叢集,以移除 SQL Server 巨量數據叢集。 如果您有想要保留的任何資料庫或 HDFS 資料,請先備份該數據,再刪除叢集。

執行下列 Azure CLI 命令來移除 Azure 中的巨量資料叢集和 AKS 服務(將 取代 <resource group name> 為您在部署腳本中指定的 Azure 資源群組 ):

az group delete -n <resource group name>