Condividi tramite


Eseguire una distribuzione offline di un cluster Big Data di SQL Server

Important

I cluster Big Data di Microsoft SQL Server 2019 sono stati ritirati. Il supporto per i cluster Big Data di SQL Server 2019 è terminato a partire dal 28 febbraio 2025. Per altre informazioni, vedere il post di blog sull'annuncio e le opzioni per 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 del contenitore. Un'installazione offline è quella in cui le immagini necessarie vengono inserite in un repository Docker privato. Tale repository privato viene quindi usato come origine dell'immagine per una nuova distribuzione.

Prerequisites

Warning

Il parametro imagePullPolicy deve essere impostato come "Always" nel file control.json del profilo di distribuzione.

Caricare immagini in un repository privato

I passaggi seguenti descrivono come scaricare le immagini del cluster di Big Data dal repository Microsoft e quindi caricarle nel proprio repository privato.

Tip

I passaggi seguenti spiegano il processo. Tuttavia, per semplificare l'attività, è possibile usare lo script automatizzato anziché eseguire manualmente questi comandi.

  1. Scaricare le immagini dei contenitori del cluster di Big Data mediante la ripetizione del 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. Contrassegna le 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>
    

Warning

Non modificare le immagini del cluster Big Data una volta che sono state caricate nel repository privato. L'esecuzione di una distribuzione con immagini modificate comporterà la configurazione di un cluster Big Data non supportato.

Immagini dei container del cluster Big Data

Per un'installazione offline sono necessarie le immagini del contenitore del 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

Automated script

È possibile usare uno script Python automatizzato che eseguirà automaticamente il pull di tutte le immagini del contenitore necessarie ed eseguirà il push in un repository privato.

Note

Python è un prerequisito per l'uso dello script. Per altre informazioni su come installare Python, vedere la documentazione di Python.

  1. In bash o 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. Segui le istruzioni per inserire le informazioni del repository di Microsoft e del tuo repository privato. Al termine dello script, tutte le immagini necessarie devono trovarsi nel repository privato.

  4. Seguire le istruzioni riportate qui per personalizzare il file di configurazione della distribuzione per usare il control.json registro contenitori e il repository. Si noti che è necessario impostare le variabili di ambiente DOCKER_USERNAME e DOCKER_PASSWORD prima della distribuzione per abilitare l'accesso al vostro repository privato.

Installare gli strumenti offline

Le distribuzioni di cluster Big Data richiedono diversi strumenti, tra cui Python, l'interfaccia della riga di comando di Azure Data (azdata) e kubectl. Usare la procedura seguente 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:

    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
  2. Copiare il file compresso nel computer di destinazione ed estrarlo in una cartella di propria scelta.

  3. Solo per Windows, eseguire installLocalPythonPackages.bat da tale cartella e passare il percorso completo alla stessa 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 Python, eseguire il comando seguente per scaricare tutti i pacchetti dell'Azure Data CLI (azdata) nella cartella corrente.

    pip download -r https://aka.ms/azdata
    
  2. Copiare i pacchetti scaricati e il requirements.txt file nel computer di destinazione.

  3. Eseguire il comando seguente nel computer di destinazione, specificando la cartella in cui sono stati copiati i file precedenti.

    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 in una cartella di propria scelta. Per altre informazioni, vedere Installare il file binario kubectl usando curl.

  2. Copiare la cartella nel computer di destinazione.

Eseguire la distribuzione dal repository privato

Per eseguire la distribuzione dal repository privato, usare i passaggi descritti nella guida alla distribuzione, ma usare un file di configurazione della distribuzione personalizzato che specifica le informazioni sul repository Docker privato. I comandi seguenti dell'interfaccia della riga di comando dei dati di Azure (azdata) illustrano 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 di Docker, oppure puoi specificarli nelle variabili di ambiente DOCKER_USERNAME e DOCKER_PASSWORD.

Next steps

Per altre informazioni sulle distribuzioni di cluster Big Data, vedere Come distribuire cluster Big Data di SQL Server in Kubernetes.