Eseguire una distribuzione offline di un cluster Big Data di SQL Server
Importante
Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e fino a quel momento il software continuerà a ricevere aggiornamenti cumulativi di SQL Server. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.
Questo articolo descrive come eseguire una distribuzione offline di un cluster Big Data di SQL Server 2019. I cluster Big Data devono avere accesso a un repository Docker da cui eseguire il pull delle immagini dei contenitori. In un'installazione offline le immagini richieste vengono inserite in un repository Docker privato. Il repository privato viene quindi usato come origine delle immagini per una nuova distribuzione.
Prerequisiti
- Motore Docker in qualsiasi distribuzione di Linux supportata oppure Docker per Mac/Windows. Verificare la versione del motore rispetto alle configurazioni testate nelle note sulla versione dei cluster Big Data di SQL Server. Per altre informazioni, vedere Installare Docker.
Avviso
Il parametro imagePullPolicy
deve essere impostato come "Always"
nel file control.json del profilo di distribuzione.
Caricare le immagini in un repository privato
I passaggi seguenti descrivono come eseguire il pull delle immagini dei contenitori dei cluster Big Data dal repository Microsoft e quindi eseguirne il push nel repository privato.
Suggerimento
I passaggi seguenti descrivono il processo. Per semplificare l'attività, tuttavia, è possibile usare lo script automatico invece di eseguire manualmente questi comandi.
Eseguire il pull delle immagini dei contenitori dei cluster Big Data ripetendo il comando seguente. Sostituire
<SOURCE_IMAGE_NAME>
con ogni nome di immagine. Sostituire<SOURCE_DOCKER_TAG>
con il tag per la versione del cluster Big Data, ad esempio 2019-CU12-ubuntu-20.04.docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
Accedere al registro Docker privato di destinazione.
docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
Aggiungere un tag alle immagini locali con il comando seguente per ogni immagine:
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>
Eseguire il push delle immagini locali nel repository Docker privato:
docker push <TARGET_DOCKER_REGISTRY>/<TARGET_DOCKER_REPOSITORY>/<SOURCE_IMAGE_NAME>:<TARGET_DOCKER_TAG>
Avviso
Non modificare le immagini del cluster Big Data dopo che è stato eseguito il push nel repository privato. L'esecuzione di una distribuzione con immagini modificate comporterà una configurazione del cluster Big Data non supportata.
Immagini dei contenitori dei cluster Big Data
Per un'installazione offline, sono necessarie le immagini dei contenitori dei cluster Big Data seguenti:
- 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
Script automatico
È possibile usare uno script Python automatico che effettua automaticamente il pull di tutte le immagini dei contenitori necessarie e il push in un repository privato.
Nota
Python è un prerequisito per l'uso dello script. Per altre informazioni su come installare Python, vedere la documentazione di Python.
Dalla shell Bash o da PowerShell scaricare lo script con 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"
Eseguire quindi lo script con uno dei comandi seguenti:
Windows:
python push-bdc-images-to-custom-private-repo.py
Linux:
sudo python push-bdc-images-to-custom-private-repo.py
Seguire le istruzioni per immettere le informazioni sul repository Microsoft e sul repository privato. Al completamento dello script, tutte le immagini richieste dovrebbero trovarsi nel repository privato.
Seguire queste istruzioni per informazioni su come personalizzare il file di configurazione della distribuzione di
control.json
in modo da usare il registro contenitori e il repository. Prima della distribuzione, è necessario impostare le variabili di ambienteDOCKER_USERNAME
eDOCKER_PASSWORD
per consentire l'accesso al repository privato.
Installare gli strumenti offline
Le distribuzioni dei cluster Big Data richiedono diversi strumenti, tra cui Python, l'interfaccia della riga di comando Azure Data (azdata
) e kubectl. Usare le procedure seguenti per installare questi strumenti in un server offline.
Installare Python offline
In un computer con accesso a Internet, scaricare uno dei file compressi seguenti contenenti Python:
Sistema operativo Scarica Windows https://go.microsoft.com/fwlink/?linkid=2074021 Linux https://go.microsoft.com/fwlink/?linkid=2065975 OSX https://go.microsoft.com/fwlink/?linkid=2065976 Copiare il file compresso nel computer di destinazione ed estrarlo nella cartella desiderata.
Solo per Windows, eseguire
installLocalPythonPackages.bat
dalla cartella di installazione e passare il percorso completo della cartella come parametro.installLocalPythonPackages.bat "C:\python-3.6.6-win-x64-0.0.1-offline\0.0.1"
Installare azdata offline
In un computer con accesso a Internet e con Python eseguire il comando seguente per scaricare tutti i pacchetti dell'interfaccia della riga di comando Azure Data (
azdata
) nella cartella corrente.pip download -r https://aka.ms/azdata
Copiare i pacchetti scaricati e il file
requirements.txt
nel computer di destinazione.Eseguire il comando seguente nel computer di destinazione, specificando la cartella in cui sono stati copiati i file in precedenza.
pip install --no-index --find-links <path-to-packages> -r <path-to-requirements.txt>
Installare kubectl offline
Per installare kubectl in un computer offline, seguire questa procedura.
Usare curl per scaricare kubectl nella cartella desiderata. Per altre informazioni, vedere Installare i file binari di kubectl usando curl.
Copiare la cartella nel computer di destinazione.
Eseguire la distribuzione dal repository privato
Per eseguire la distribuzione dal repository privato, seguire la procedura descritta nella guida alla distribuzione, ma usare un file di configurazione della distribuzione personalizzato che specifichi le informazioni sul repository Docker privato. I comandi seguenti dell'interfaccia della riga di comando Azure Data (azdata
) mostrano come modificare le impostazioni di Docker in un file di configurazione della distribuzione personalizzato denominato control.json
:
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>"
La distribuzione richiede il nome utente e la password Docker oppure è possibile specificarli nelle variabili di ambiente DOCKER_USERNAME
e DOCKER_PASSWORD
.
Passaggi successivi
Per altre informazioni sulle distribuzioni di cluster Big Data, vedere Come distribuire cluster Big Data di SQL Server in Kubernetes.