Выполнение автономного развертывания кластера больших данных SQL Server

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, а программное обеспечение будет продолжать поддерживаться через SQL Server накопительных обновлений до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.

В этой статье описывается процедура автономного развертывания Кластеры больших данных SQL Server 2019. Кластеры больших данных должны иметь доступ к репозиторию Docker, из которого извлекаются образы контейнеров. При автономной установке требуемые образы помещаются в частный репозиторий Docker. Затем этот частный репозиторий используется в качестве источника образов для нового развертывания.

предварительные требования

Предупреждение

Параметр imagePullPolicy в файле control.json для профиля развертывания должен иметь значение "Always".

Загрузка образов в частный репозиторий

Ниже описано, как извлечь образы контейнеров кластера больших данных из репозитория Майкрософт, а затем отправить их в ваш частный репозиторий.

Совет

Приведенные ниже шаги показывают, как это сделать. Однако для упрощения задачи вместо выполнения этих команд вручную можно использовать автоматический скрипт.

  1. Извлеките образы контейнеров кластера больших данных, выполняя указанную ниже команду. Замените <SOURCE_IMAGE_NAME> на имя каждого из образов. Замените <SOURCE_DOCKER_TAG> тегом для выпуска кластера больших данных, например 2019-CU12-ubuntu-20.04.

    docker pull mcr.microsoft.com/mssql/bdc/<SOURCE_IMAGE_NAME>:<SOURCE_DOCKER_TAG>
    
  2. Войдите в целевой частный реестр Docker.

    docker login <TARGET_DOCKER_REGISTRY> -u <TARGET_DOCKER_USERNAME> -p <TARGET_DOCKER_PASSWORD>
    
  3. Пометьте локальные образы, выполнив следующую команду для каждого из них.

    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. Отправьте локальные образы в частный репозиторий Docker.

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

Предупреждение

Не изменяйте образы кластера больших данных после их передачи в частный репозиторий. Выполнение развертывания с измененными образами приведет к неподдерживаемой настройке кластера больших данных.

Образы контейнеров кластера больших данных

Для автономной установки требуются следующие образы контейнеров кластера больших данных.

  • 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

Автоматический скрипт

Вы можете использовать автоматический скрипт Python, который автоматически извлекает все необходимые образы контейнеров и передает их в частный репозиторий.

Примечание

Обязательным условием для использования этого скрипта является наличие Python. Дополнительные сведения об установке Python см. в документации по Python.

  1. Скачайте скрипт из Bash или PowerShell с помощью 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. Затем выполните скрипт с помощью одной из следующих команд.

    Windows:

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

    Linux:

    sudo python push-bdc-images-to-custom-private-repo.py
    
  3. Следуйте инструкциям на экране, чтобы ввести сведения о репозитории Майкрософт и частном репозитории. После завершения выполнения скрипта все необходимые образы должны находиться в частном репозитории.

  4. Следуйте инструкциям здесь, чтобы узнать, как настроить файл конфигурации развертывания control.json, чтобы использовать реестр и репозиторий контейнеров. Обратите внимание, что перед развертыванием необходимо задать переменные среды DOCKER_USERNAME и DOCKER_PASSWORD, чтобы разрешить доступ к частному репозиторию.

Автономная установка средств

Для развертывания кластеров больших данных нужно несколько средств, включая Python, Azure Data CLI (azdata) и kubectl. Чтобы установить эти средства на автономном сервере, выполните указанные ниже действия.

Автономная установка Python

  1. На компьютере с доступом в Интернет скачайте один из следующих сжатых файлов с Python.

    Операционная система Скачивание
    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. Скопируйте сжатый файл на целевой компьютер и извлеките его в выбранную папку.

  3. Только для Windows: запустите installLocalPythonPackages.bat из этой папки и передайте полный путь к ней в виде параметра.

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

Автономная установка azdata

  1. На компьютере с доступом в Интернет и Python выполните приведенную ниже команду, чтобы скачать все пакеты Azure Data CLI (azdata) в текущую папку.

    pip download -r https://aka.ms/azdata
    
  2. Скопируйте скачанные пакеты и файл requirements.txt на целевой компьютер.

  3. Выполните указанную ниже команду на целевом компьютере, указав папку, куда вы скопировали предыдущие файлы.

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

Автономная установка kubectl

Чтобы установить kubectl на автономный компьютер, выполните указанные ниже действия.

  1. Используйте curl, чтобы скачать kubectl в выбранную вами папку. Дополнительные сведения см. в разделе Установка двоичного файла kubectl с помощью curl.

  2. Скопируйте эту папку на целевой компьютер.

Развертывание из частного репозитория

Для развертывания из частного репозитория выполните действия, описанные в руководстве по развертыванию, но используйте пользовательский файл конфигурации развертывания, в котором указаны сведения о вашем частном репозитории Docker. Следующие команды Azure Data CLI (azdata) демонстрируют, как изменить параметры Docker в пользовательском файле конфигурации развертывания с именем 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>"

При развертывании отображается запрос на ввод имени пользователя и пароля Docker, либо их можно указать в переменных среды DOCKER_USERNAME и DOCKER_PASSWORD.

Дальнейшие действия

Дополнительные сведения о развертывании кластеров больших данных см. в статье Развертывание Кластеры больших данных SQL Server в Kubernetes.