Compartir por


Realizar una implementación sin conexión de un clúster de macrodatos de SQL Server

Important

Los clústeres de macrodatos de Microsoft SQL Server 2019 se retiran. La compatibilidad con clústeres de macrodatos de SQL Server 2019 finalizó a partir del 28 de febrero de 2025. Para obtener más información, consulte la entrada de blog del anuncio y las opciones de macrodatos en la plataforma de Microsoft SQL Server.

En este artículo se describe cómo realizar una implementación sin conexión de clústeres de macrodatos de SQL Server 2019. Los clústeres de macrodatos deben tener acceso a un repositorio de Docker desde el que extraer imágenes de contenedor. Una instalación sin conexión es una en la que las imágenes necesarias se colocan en un repositorio privado de Docker. Después, ese repositorio privado se usa como origen de la imagen para una nueva implementación.

Prerequisites

Warning

El parámetro imagePullPolicy debe establecerse como en "Always" el archivo control.json del perfil de implementación.

Carga de imágenes en un repositorio privado

En los pasos siguientes se describe cómo extraer las imágenes de contenedor del clúster de macrodatos del repositorio de Microsoft y, a continuación, insertarlas en el repositorio privado.

Tip

Los siguientes pasos explican el proceso. Sin embargo, para simplificar la tarea, puede usar el script automatizado en lugar de ejecutar manualmente estos comandos.

  1. Extraiga las imágenes de contenedor del clúster de macrodatos repitiendo el siguiente comando. Reemplace por <SOURCE_IMAGE_NAME> cada nombre de imagen. Reemplace <SOURCE_DOCKER_TAG> por la etiqueta de la versión del clúster de macrodatos, como 2019-CU12-ubuntu-20.04.

    docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
    
  2. Inicie sesión en el registro privado de Docker de destino.

    docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
    
  3. Etiquete las imágenes locales con el siguiente comando para cada imagen:

    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. Inserte las imágenes locales en el repositorio privado de Docker:

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

Warning

No modifique las imágenes del clúster de macrodatos una vez que se inserten en el repositorio privado. La realización de una implementación con imágenes modificadas dará lugar a una configuración de clúster de macrodatos no compatible.

Imágenes de contenedores de clústeres de macrodatos

Las siguientes imágenes de contenedor de clústeres de macrodatos son necesarias para una instalación sin conexión:

  • 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

Puede usar un script de Python automatizado que extraiga automáticamente todas las imágenes de contenedor necesarias e insértelas en un repositorio privado.

Note

Python es un requisito previo para usar el script. Para más información sobre cómo instalar Python, consulte la documentación de Python.

  1. Desde Bash o PowerShell, descargue el 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. A continuación, ejecute el script con uno de los siguientes comandos:

    Windows:

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

    Linux:

    sudo python push-bdc-images-to-custom-private-repo.py
    
  3. Siga las indicaciones para introducir la información del repositorio de Microsoft y su repositorio privado. Una vez completado el script, todas las imágenes necesarias deben encontrarse en el repositorio privado.

  4. Siga las instrucciones que se indican aquí para aprender a personalizar el archivo de configuración de implementación para usar el control.json registro de contenedor y el repositorio. Tenga en cuenta que debe establecer las variables de entorno DOCKER_USERNAME y DOCKER_PASSWORD antes de la implementación para habilitar el acceso al repositorio privado.

Instalación de herramientas sin conexión

Las implementaciones de clústeres de macrodatos requieren varias herramientas, como Python, la CLI de datos de Azure (azdata) y kubectl. Siga estos pasos para instalar estas herramientas en un servidor sin conexión.

Instalación de Python sin conexión

  1. En un equipo con acceso a Internet, descargue uno de los siguientes archivos comprimidos que contienen 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. Copie el archivo comprimido en el equipo de destino y extráigalo en una carpeta de su elección.

  3. Solo para Windows, ejecute installLocalPythonPackages.bat desde esa carpeta y pase la ruta de acceso completa a la misma carpeta como un parámetro.

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

Instalación de azdata sin conexión

  1. En un equipo con acceso a Internet y Python, ejecute el siguiente comando para descargar todos los paquetes de la CLI de datos de Azure (azdata) en la carpeta actual.

    pip download -r https://aka.ms/azdata
    
  2. Copie los paquetes descargados y el requirements.txt archivo en la máquina de destino.

  3. Ejecute el siguiente comando en la máquina de destino, especificando la carpeta en la que copió los archivos anteriores.

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

Instalación de kubectl sin conexión

Para instalar kubectl en una máquina sin conexión, siga estos pasos.

  1. Use curl para descargar kubectl en una carpeta de su elección. Para obtener más información, consulte Instalación del archivo binario kubectl mediante curl.

  2. Copie la carpeta en la máquina de destino.

Implementación desde un repositorio privado

Para realizar la implementación desde el repositorio privado, siga los pasos descritos en la guía de implementación, pero use un archivo de configuración de implementación personalizado que especifique la información del repositorio privado de Docker. Los siguientes comandos de la CLI de datos de Azure (azdata) muestran cómo cambiar la configuración de Docker en un archivo de configuración de implementación personalizado denominado 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 implementación le pide el nombre de usuario y la contraseña de Docker, o bien puede especificarlos en las DOCKER_USERNAME variables de entorno y DOCKER_PASSWORD .

Next steps

Para más información sobre las implementaciones de clústeres de macrodatos, consulte Implementación de clústeres de macrodatos de SQL Server en Kubernetes.