Share via


Executar uma implantação offline de um cluster de Big Data do SQL Server

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Este artigo descreve como executar uma implantação offline de um Clusters de Big Data do SQL Server 2019. Os clusters de Big Data precisam ter acesso a um repositório do Docker do qual será efetuado pull das imagens de contêiner. Uma instalação offline é aquela em que as imagens necessárias são colocadas em um repositório privado do Docker. Em seguida, esse repositório privado é usado como a origem da imagem para uma nova implantação.

Prerequisites

Aviso

O parâmetro imagePullPolicy deve ser definido como "Always" no arquivo control.json do perfil de implantação.

Carregar imagens em um repositório privado

As etapas a seguir descrevem como efetuar pull das imagens de contêiner de cluster de Big Data do repositório da Microsoft e, em seguida, efetuar push delas para seu repositório privado.

Dica

As etapas a seguir explicam o processo. No entanto, para simplificar a tarefa, você pode usar o script automatizado em vez de executar esses comandos manualmente.

  1. Efetue pull das imagens de contêiner de cluster de Big Data repetindo o comando a seguir. Substitua <SOURCE_IMAGE_NAME> por cada nome de imagem. Substitua <SOURCE_DOCKER_TAG> pela tag da versão do cluster de Big Data, como 2019-CU12-ubuntu-20.04.

    docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
    
  2. Faça logon no registro privado de destino do Docker.

    docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
    
  3. Marque as imagens locais com o seguinte comando para cada imagem:

    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. Envie por push as imagens locais ao repositório privado do Docker:

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

Aviso

Não modifique as imagens do cluster de Big Data quando elas forem enviadas por push para seu repositório privado. A execução de uma implantação com imagens modificadas resultará em uma configuração de cluster de Big Data sem suporte.

Imagens de contêiner de cluster de Big Data

As seguintes imagens de contêiner de cluster de Big Data são necessárias para uma instalação offline:

  • 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 automatizado

Use um script automatizado do Python que efetuará pull automaticamente de todas as imagens de contêiner necessárias e as enviará por push para um repositório privado.

Observação

O Python é um pré-requisito para o uso do script. Para obter mais informações sobre como instalar o Python, confira a documentação do Python.

  1. No Bash ou no PowerShell, baixe o script com o 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. Em seguida, execute o script com um dos seguintes comandos:

    Windows:

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

    Linux:

    sudo python push-bdc-images-to-custom-private-repo.py
    
  3. Siga os prompts para inserir o repositório da Microsoft e suas informações de repositório privado. Após a conclusão do script, todas as imagens necessárias deverão estar localizadas no repositório privado.

  4. Siga as instruções aqui para saber como personalizar o arquivo de configuração de implantação do control.json para usar seu repositório e registro de contêiner. Observe que você deve definir as variáveis de ambiente DOCKER_USERNAME e DOCKER_PASSWORD antes da implantação para habilitar o acesso ao seu repositório privado.

Instalar ferramentas offline

As implantações de cluster de Big Data exigem várias ferramentas, incluindo Python, CLI de Dados do Azure (azdata) e kubectl. Use as etapas a seguir para instalar essas ferramentas em um servidor offline.

Instalar o Python offline

  1. Em um computador com acesso à Internet, baixe um dos seguintes arquivos compactados que contêm o Python:

    Sistema operacional Baixar
    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 o arquivo compactado para o computador de destino e extraia-o em uma pasta de sua escolha.

  3. Somente para o Windows, execute installLocalPythonPackages.bat nessa pasta e passe o caminho completo para a mesma pasta como um parâmetro.

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

Instalar o azdata offline

  1. Em um computador com acesso à Internet e o Python, execute o comando a seguir para baixar todos os pacotes do CLI de Dados do Azure (azdata) na pasta atual.

    pip download -r https://aka.ms/azdata
    
  2. Copie os pacotes baixados e o arquivo requirements.txt para o computador de destino.

  3. Execute o comando a seguir no computador de destino, especificando a pasta na qual você copiou os arquivos anteriores.

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

Instalar o kubectl offline

Para instalar o kubectl em um computador offline, use as etapas a seguir.

  1. Use o curl para baixar o kubectl em uma pasta de sua escolha. Para obter mais informações, confira Instalar o binário do kubectl usando o curl.

  2. Copie a pasta para o computador de destino.

Implantação por meio do repositório privado

Para executar a implantação por meio do repositório privado, use as etapas descritas no guia de implantação, mas use um arquivo de configuração de implantação personalizado que especifique as informações do repositório privado do Docker. Os seguintes comandos CLI de Dados do Azure (azdata) demonstram como alterar as configurações do Docker em um arquivo de configuração de implantação personalizado chamado 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>"

A implantação solicita o nome de usuário e a senha do Docker ou você pode especificá-los nas variáveis de ambiente DOCKER_USERNAME e DOCKER_PASSWORD.

Próximas etapas

Para obter mais informações sobre implantações de clusters de Big Data, confira Como implantar Clusters de Big Data do SQL Server no Kubernetes.