Durchführen einer Offlinebereitstellung von Big Data-Clustern für SQL Server
Wichtig
Das Microsoft SQL Server 2019-Big Data-Cluster-Add-On wird eingestellt. Der Support für SQL Server 2019-Big Data-Clusters endet am 28. Februar 2025. Alle vorhandenen Benutzer*innen von SQL Server 2019 mit Software Assurance werden auf der Plattform vollständig unterstützt, und die Software wird bis zu diesem Zeitpunkt weiterhin über kumulative SQL Server-Updates verwaltet. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.
In diesem Artikel wird beschrieben, wie Sie eine Offlinebereitstellung von SQL Server 2019: Big Data-Cluster durchführen. Big Data-Cluster müssen Zugriff auf ein Docker-Repository haben, aus dem Containerimages gepullt werden. Bei einer Offlineinstallation werden die erforderlichen Images in einem privaten Docker-Repository abgelegt. Dieses private Repository wird dann als Imagequelle für eine neue Bereitstellung verwendet.
Voraussetzungen
- Docker Engine für eine beliebige unterstützte Linux-Distribution oder Docker für Mac/Windows. Überprüfen Sie die Engine-Version anhand der getesteten Konfigurationen in den Versionshinweisen für die Big Data-Cluster-Plattform von SQL Server. Weitere Informationen finden Sie unter Installieren von Docker.
Warnung
Der Parameter imagePullPolicy
muss in der Datei „control.json“ des Bereitstellungsprofils auf "Always"
festgelegt werden.
Laden von Images in ein privates Repository
In den folgenden Schritten wird beschrieben, wie Sie die Containerimages des Big Data-Clusters aus dem Microsoft-Repository abrufen und anschließend in Ihr privates Repository pushen.
Tipp
Die folgenden Schritte erläutern den Prozess. Um die Aufgabe zu vereinfachen, können Sie jedoch das automatisierte Skript verwenden, anstatt diese Befehle manuell auszuführen.
Pullen Sie die Big Data-Cluster-Containerimages, indem Sie den folgenden Befehl wiederholen. Ersetzen Sie
<SOURCE_IMAGE_NAME>
durch den jeweiligen Imagenamen. Ersetzen Sie<SOURCE_DOCKER_TAG>
durch das Tag für das Release des Big Data-Clusters, z. B. 2019-CU12-ubuntu-20.04.docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
Melden Sie sich bei der privaten Docker-Zielregistrierung an.
docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
Markieren Sie die lokalen Images jeweils mit dem folgenden Befehl:
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>
Pushen Sie die lokalen Images in das private Docker-Repository:
docker push <TARGET_DOCKER_REGISTRY>/<TARGET_DOCKER_REPOSITORY>/<SOURCE_IMAGE_NAME>:<TARGET_DOCKER_TAG>
Warnung
Ändern Sie Big Data-Cluster-Images nicht mehr, sobald sie in Ihr privates Repository gepusht wurden. Die Durchführung einer Bereitstellung mit bearbeiteten Images würde zu einem nicht unterstützten Big Data-Cluster-Setup führen.
Big Data-Cluster-Containerimages
Die folgenden Big Data-Cluster-Containerimages sind für eine Offlineinstallation erforderlich:
- 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
Automatisiertes Skript
Sie können ein automatisiertes Python-Skript verwenden, das automatisch alle benötigten Containerimages pullt und sie in ein privates Repository überträgt.
Hinweis
Python ist eine Voraussetzung für die Verwendung des Skripts. Weitere Informationen über die Installation von Python finden Sie in der Python-Dokumentation.
Laden Sie das Skript per Bash oder PowerShell mit curl herunter:
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"
Führen Sie das Skript mit einem der folgenden Befehle aus:
Windows:
python push-bdc-images-to-custom-private-repo.py
Linux:
sudo python push-bdc-images-to-custom-private-repo.py
Befolgen Sie die Anweisungen zum Eingeben des Microsoft-Repositorys und Ihrer privaten Repository-Informationen. Nach Abschluss des Skripts sollten sich alle erforderlichen Images in Ihrem privaten Repository befinden.
Befolgen Sie diese Anweisungen, um zu erfahren, wie Sie die Konfigurationsdatei für die Bereitstellung von
control.json
anpassen können, um Ihre Containerregistrierung und Ihr Repository zu nutzen. Beachten Sie, dass Sie die UmgebungsvariablenDOCKER_USERNAME
undDOCKER_PASSWORD
vor der Bereitstellung festlegen müssen, damit Sie auf das private Repository zugreifen können.
Offlineinstallation von Tools
Bereitstellungen von Big Data-Clustern erfordern mehrere Tools, einschließlich Python, Azure Data CLI (azdata
)und kubectl. Führen Sie die folgenden Schritte aus, um diese Tools auf einem Offlineserver zu installieren.
Offlineinstallation von Python
Laden Sie auf einem Computer mit Internetzugriff eine der folgenden komprimierten Dateien herunter, die Python enthalten:
Betriebssystem 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 Kopieren Sie die komprimierte Datei auf den Zielcomputer, und extrahieren Sie sie in einen Ordner Ihrer Wahl.
Führen Sie
installLocalPythonPackages.bat
nur unter Windows in diesem Ordner aus, und übergeben Sie den vollständigen Pfad zu demselben Ordner als Parameter.installLocalPythonPackages.bat "C:\python-3.6.6-win-x64-0.0.1-offline\0.0.1"
Offlineinstallation von azdata
Führen Sie auf einem Computer mit Internetzugriff und Python den folgenden Befehl aus, um alle Azure Data CLI (
azdata
)-Pakete in den aktuellen Ordner herunterzuladen.pip download -r https://aka.ms/azdata
Kopieren Sie die heruntergeladenen Pakete und die Datei
requirements.txt
auf den Zielcomputer.Führen Sie den folgenden Befehl auf dem Zielcomputer aus, und geben Sie dabei den Ordner an, in den Sie die vorherigen Dateien kopiert haben.
pip install --no-index --find-links <path-to-packages> -r <path-to-requirements.txt>
Offlineinstallation von kubectl
Führen Sie die folgenden Schritte aus, um kubectl auf einem Offlinecomputer zu installieren.
Verwenden Sie curl, um kubectl in einen Ordner Ihrer Wahl herunterzuladen. Weitere Informationen finden Sie unter Install kubectl binary using curl (Installieren von kubectl mit curl).
Kopieren Sie den Ordner auf den Zielcomputer.
Bereitstellen aus privatem Repository
Verwenden Sie zum Bereitstellen über das private Repository die im Bereitstellungshandbuch beschriebenen Schritte, und verwenden Sie unbedingt eine benutzerdefinierte Bereitstellungskonfigurationsdatei, die die Informationen zu Ihrem privaten Docker-Repository enthält. Die folgenden Azure Data CLI (azdata
)-Befehle veranschaulichen, wie die Docker-Einstellungen in einer benutzerdefinierten Bereitstellungskonfigurationsdatei namens control.json
geändert werden:
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>"
In der Bereitstellung werden Sie aufgefordert, den Docker-Benutzernamen und das Kennwort einzugeben. Alternativ können Sie sie in den Umgebungsvariablen DOCKER_USERNAME
und DOCKER_PASSWORD
angeben.
Nächste Schritte
Weitere Informationen zu Big Data-Cluster-Bereitstellungen finden Sie unter Vorgehensweise: Bereitstellen von Big Data-Cluster für SQL Server in Kubernetes.