Effectuer un déploiement hors connexion d’un cluster Big Data SQL Server

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Cet article explique comment déployer hors connexion un Clusters de Big Data SQL Server 2019. Les clusters Big Data doivent avoir accès à un référentiel Docker à partir duquel tirer (pull) des images conteneur. Lors d’une installation hors connexion, les images nécessaires sont placées dans un référentiel Docker privé. Ce référentiel privé est ensuite utilisé comme source des images d’un nouveau déploiement.

Conditions préalables requises

Avertissement

Le paramètre imagePullPolicy doit être défini comme "Always" dans le fichier du profil de déploiement control.json.

Charger des images dans un référentiel privé

Les étapes suivantes expliquent comment tirer (pull) les images conteneur du cluster Big Data à partir du référentiel Microsoft, puis comment les pousser (push) vers votre référentiel privé.

Conseil

Ce processus est expliqué ci-dessous. Toutefois, pour simplifier cette tâche, vous pouvez utiliser le script automatisé au lieu d’exécuter manuellement ces commandes.

  1. Tirez (pull) les images conteneur du cluster Big Data en répétant la commande suivante. Remplacez <SOURCE_IMAGE_NAME> par chaque nom d’image. Remplacez <SOURCE_DOCKER_TAG> par l’étiquette de la version du cluster Big Data, par exemple 2019-CU12-ubuntu-20.04.

    docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
    
  2. Connectez-vous au registre Docker privé cible.

    docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
    
  3. Étiquetez chacune des images locales à l’aide de la commande suivante :

    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. Poussez (push) les images locales vers le référentiel Docker privé :

    docker push <TARGET_DOCKER_REGISTRY>/<TARGET_DOCKER_REPOSITORY>/<SOURCE_IMAGE_NAME>:<TARGET_DOCKER_TAG>
    

Avertissement

Ne modifiez pas les images du cluster Big Data une fois qu’elles sont transmises à votre dépôt privé. L’exécution d’un déploiement avec des images modifiées entraîne une configuration de cluster Big Data non prise en charge.

Images conteneur de cluster Big Data

Les images conteneur de cluster Big Data suivantes sont nécessaires pour une installation hors connexion :

  • 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 automatisé

Vous pouvez utiliser un script Python automatisé qui tire (pull) automatiquement toutes les images conteneur nécessaires, puis les pousse (push) vers un référentiel privé.

Notes

Python est un prérequis à l’utilisation du script. Pour plus d’informations sur l’installation de Python, consultez la documentation Python.

  1. À partir de Bash ou de PowerShell, téléchargez le script avec 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. Ensuite, exécutez le script avec l’une des commandes suivantes :

    Windows :

    python push-bdc-images-to-custom-private-repo.py
    

    Linux :

    sudo python push-bdc-images-to-custom-private-repo.py
    
  3. Suivez les invites pour entrer le référentiel Microsoft, ainsi que les informations de votre référentiel privé. Une fois l’exécution du script terminée, toutes les images nécessaires doivent se trouver dans le référentiel privé.

  4. Suivez les instructions fournies ici pour découvrir comment personnaliser le fichier de configuration de déploiement control.json afin d’utiliser votre référentiel et votre registre de conteneurs. Notez que vous devez définir les variables d’environnement DOCKER_USERNAME et DOCKER_PASSWORD avant le déploiement pour permettre l’accès à votre référentiel privé.

Installer des outils hors connexion

Les déploiements de clusters Big Data nécessitent plusieurs outils, tels que Python, Azure Data CLI (azdata) et kubectl. Suivez les étapes suivantes pour installer ces outils sur un serveur hors connexion.

Installer Python hors connexion

  1. Sur une machine disposant d’un accès à Internet, téléchargez l’un des fichiers compressés suivants contenant Python :

    Système d’exploitation Téléchargement
    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. Copiez le fichier compressé sur la machine cible et extrayez-le dans un dossier de votre choix.

  3. Pour Windows uniquement, exécutez installLocalPythonPackages.bat à partir de ce dossier en indiquant comme paramètre le chemin complet au dossier.

    installLocalPythonPackages.bat "C:\python-3.6.6-win-x64-0.0.1-offline\0.0.1"
    

Installer azdata hors connexion

  1. Sur une machine disposant d’un accès à Internet et de Python, exécutez la commande suivante pour télécharger tous les packages Azure Data CLI (azdata) dans le dossier actif.

    pip download -r https://aka.ms/azdata
    
  2. Copiez les packages téléchargés et le fichier requirements.txt sur la machine cible.

  3. Exécutez la commande suivante sur la machine cible, en spécifiant le dossier dans lequel vous avez copié les fichiers précédents.

    pip install --no-index --find-links <path-to-packages> -r <path-to-requirements.txt>
    

Installer kubectl hors connexion

Pour installer kubectl sur une machine hors connexion, utilisez les étapes suivantes.

  1. Utilisez curl pour télécharger kubectl dans le dossier de votre choix. Pour plus d’informations, consultez Installer le fichier binaire kubectl avec curl.

  2. Copiez le dossier sur la machine cible.

Effectuer le déploiement à partir d’un référentiel privé

Pour effectuer un déploiement à partir du référentiel privé, utilisez les étapes décrites dans le guide de déploiement, mais utilisez un fichier de configuration de déploiement personnalisé spécifiant les informations de votre référentiel Docker privé. Les commandes Azure Data CLI (azdata) suivantes montrent comment modifier les paramètres Docker dans un fichier de configuration de déploiement personnalisé nommé 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>"

Le déploiement vous invite à entrer le nom d’utilisateur et le mot de passe Docker. Vous pouvez également les spécifier dans les variables d’environnement DOCKER_USERNAME et DOCKER_PASSWORD.

Étapes suivantes

Pour plus d’informations sur le déploiement des clusters Big Data, consultez Guide pratique pour déployer des Clusters Big Data SQL Server sur Kubernetes.