Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
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
- Docker Engine en cualquier distribución de Linux compatible o Docker para Mac/Windows. Valide la versión del motor en comparación con las configuraciones probadas en las notas de la versión de los clústeres de macrodatos de SQL Server. Para obtener más información, consulte Instalar Docker.
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.
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>Inicie sesión en el registro privado de Docker de destino.
docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>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>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.
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"A continuación, ejecute el script con uno de los siguientes comandos:
Windows:
python push-bdc-images-to-custom-private-repo.pyLinux:
sudo python push-bdc-images-to-custom-private-repo.pySiga 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.
Siga las instrucciones que se indican aquí para aprender a personalizar el archivo de configuración de implementación para usar el
control.jsonregistro de contenedor y el repositorio. Tenga en cuenta que debe establecer las variables de entornoDOCKER_USERNAMEyDOCKER_PASSWORDantes 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
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 Copie el archivo comprimido en el equipo de destino y extráigalo en una carpeta de su elección.
Solo para Windows, ejecute
installLocalPythonPackages.batdesde 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
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/azdataCopie los paquetes descargados y el
requirements.txtarchivo en la máquina de destino.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.
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.
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.