Condividi tramite


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

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.

  1. 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>
    
  2. Accedere al registro Docker privato di destinazione.

    docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
    
  3. 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>
    
  4. 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.

  1. 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"
    
  2. 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
    
  3. 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.

  4. 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 ambiente DOCKER_USERNAME e DOCKER_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

  1. 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
  2. Copiare il file compresso nel computer di destinazione ed estrarlo nella cartella desiderata.

  3. 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

  1. 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
    
  2. Copiare i pacchetti scaricati e il file requirements.txt nel computer di destinazione.

  3. 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.

  1. Usare curl per scaricare kubectl nella cartella desiderata. Per altre informazioni, vedere Installare i file binari di kubectl usando curl.

  2. 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.