Important
MICROSOFT SQL Server 2019 巨量數據叢集已淘汰。 SQL Server 2019 巨量數據叢集的支援已於 2025 年 2 月 28 日結束。 如需詳細資訊,請參閱 Microsoft SQL Server 平臺上的公告部落格文章和巨量數據選項。
本文說明如何執行 SQL Server 2019 巨量數據叢集的離線部署。 巨量數據叢集必須能夠存取用來提取容器映像的 Docker 存放庫。 離線安裝是指將必要的映像檔放入私人 Docker 存放庫的安裝方式。 然後,該私人存放庫會作為新部署的映像來源。
Prerequisites
- 任何支援的Linux發行版或Docker for Mac/Windows上的Docker引擎。 根據 SQL Server 巨量數據叢集版本資訊中的測試組態,驗證引擎的版本。如需詳細資訊,請參閱 安裝 Docker。
Warning
必須在部署設定檔 control.json 檔案中將參數 imagePullPolicy 設定為 "Always"。
將映像載入私人存放庫
下列步驟說明如何從Microsoft存放庫提取巨量數據叢集容器映像,然後將其推送至您的私人存放庫。
Tip
下列步驟說明此程式。 不過,若要簡化工作,您可以使用 自動化腳本 ,而不是手動執行這些命令。
重複下列命令,以提取巨量數據叢集容器映像。 把
<SOURCE_IMAGE_NAME>替換為每個 映像名稱。 將<SOURCE_DOCKER_TAG>替換為指示巨量數據叢集版本的標記,例如 2019-CU12-ubuntu-20.04。docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>登入目標私人 Docker 登錄。
docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>針對每個映像,使用下列命令標記本機映像:
docker tag mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG> <TARGET_DOCKER_REGISTRY>/<TARGET_DOCKER_REPOSITORY>/<SOURCE_IMAGE_NAME>:<TARGET_DOCKER_TAG>將本機映像推送至私人 Docker 存放庫:
docker push <TARGET_DOCKER_REGISTRY>/<TARGET_DOCKER_REPOSITORY>/<SOURCE_IMAGE_NAME>:<TARGET_DOCKER_TAG>
Warning
一旦巨量數據叢集映射推送至您的私人存放庫,請勿修改它們。 使用修改過的映像執行部署會導致不支援的巨量數據叢集設定。
巨量數據叢集容器映像
離線安裝需要下列巨量資料叢集容器映像:
- mssql-app-service-proxy
- mssql-control-watchdog
- mssql-controller
- mssql-dns
- mssql-hadoop
- mssql-mleap-serving-runtime
- mssql-mlserver-py-runtime
- mssql-mlserver-r-runtime
- mssql-monitor-collectd
- mssql-monitor-elasticsearch
- mssql-monitor-fluentbit
- mssql-monitor-grafana
- mssql-monitor-influxdb
- mssql-monitor-kibana
- mssql-monitor-telegraf
- mssql-security-knox
- mssql-security-support
- mssql-server-controller
- mssql-server-data
- mssql-ha-operator
- mssql-ha-supervisor
- mssql-service-proxy
- mssql-ssis-app-runtime
Automated script
您可以使用自動化 Python 腳本,自動提取所有必要的容器映像,並將其推送至私人存放庫。
Note
Python 是使用腳本的必要條件。 如需如何安裝 Python 的詳細資訊,請參閱 Python 檔。
從 bash 或 PowerShell 使用 curl 下載腳本:
curl -o push-bdc-images-to-custom-private-repo.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/offline/push-bdc-images-to-custom-private-repo.py"然後使用下列其中一個命令執行文稿:
Windows:
python push-bdc-images-to-custom-private-repo.pyLinux:
sudo python push-bdc-images-to-custom-private-repo.py請依照提示輸入Microsoft存放庫和您的私人存放庫資訊。 腳本完成之後,所有必要的映像都應該位於您的私人存放庫中。
請遵循 這裡的 指示,瞭解如何自定義
control.json部署組態檔,以使用您的容器登錄和存放庫。 請注意,您必須在部署之前設定DOCKER_USERNAME和DOCKER_PASSWORD環境變數,才能啟用私人存放庫的存取權。
離線安裝工具
巨量數據叢集部署需要數個工具,包括 Python、Azure Data CLI (azdata) 和 kubectl。 使用下列步驟在離線伺服器上安裝這些工具。
離線安裝 Python
在可存取因特網的計算機上,下載下列其中一個包含 Python 的壓縮檔:
Operating system Download Windows https://go.microsoft.com/fwlink/?linkid=2074021 Linux https://go.microsoft.com/fwlink/?linkid=2065975 OSX https://go.microsoft.com/fwlink/?linkid=2065976 將壓縮檔複製到目標計算機,並將它解壓縮到您選擇的資料夾。
若為僅限 Windows,請從該資料夾執行
installLocalPythonPackages.bat,並將完整路徑傳遞至與參數相同的資料夾。installLocalPythonPackages.bat "C:\python-3.6.6-win-x64-0.0.1-offline\0.0.1"
安裝 azdata offline
在具有因特網存取權和 Python 的電腦上,執行下列命令,將所有 Azure Data CLI (
azdata) 套件下載到目前的資料夾。pip download -r https://aka.ms/azdata將下載的套件和
requirements.txt檔案複製到目標計算機。在目標電腦上執行下列命令,並指定您複製先前檔案的資料夾。
pip install --no-index --find-links <path-to-packages> -r <path-to-requirements.txt>
離線安裝 kubectl
若要將 kubectl 安裝到離線電腦,請使用下列步驟。
使用 curl 將 kubectl 下載至您選擇的資料夾。 如需詳細資訊,請參閱 使用 curl 安裝 kubectl 二進位檔。
將資料夾複製到目標電腦。
從私人存放庫部署
若要從私人存放庫部署,請使用 部署指南中所述的步驟,但使用自定義部署組態檔來指定您的私人 Docker 存放庫資訊。 下列 Azure Data CLI (azdata) 命令示範如何在名為 control.json的自訂部署組態檔中變更 Docker 設定:
azdata bdc config replace --config-file custom/control.json --json-values "$.spec.docker.repository=<your-docker-repository>"
azdata bdc config replace --config-file custom/control.json --json-values "$.spec.docker.registry=<your-docker-registry>"
azdata bdc config replace --config-file custom/control.json --json-values "$.spec.docker.imageTag=<your-docker-image-tag>"
部署會提示您輸入 docker 使用者名稱和密碼,或者您可以在 DOCKER_USERNAME 和 DOCKER_PASSWORD 環境變數中指定它們。
Next steps
如需巨量數據叢集部署的詳細資訊,請參閱 如何在 Kubernetes 上部署 SQL Server 巨量數據叢集。