SQL Server 빅 데이터 클러스터의 오프라인 배포 수행

Important

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

이 문서에서는 SQL Server 2019 빅 데이터 클러스터의 오프라인 배포를 수행하는 방법을 설명합니다. 빅 데이터 클러스터가 컨테이너 이미지를 끌어올 Docker 리포지토리에 액세스할 수 있어야 합니다. 오프라인 설치는 필수 이미지가 프라이빗 Docker 리포지토리에 배치되는 곳입니다. 그러면 해당하는 프라이빗 리포지토리가 새 배포의 이미지 원본으로 사용됩니다.

필수 조건

Warning

배포 프로필 control.json 파일에서 매개 변수 imagePullPolicy"Always"로 설정해야 합니다.

프라이빗 리포지토리에 이미지 로드

다음 단계에서는 Microsoft 리포지토리에서 빅 데이터 클러스터 컨테이너 이미지를 끌어와 프라이빗 리포지토리로 밀어넣는 방법을 설명합니다.

이 프로세스를 다음 단계에서 설명합니다. 그러나 작업을 간소화하기 위해서는 이러한 명령을 수동으로 실행하는 대신 자동화된 스크립트를 사용할 수 있습니다.

  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>
    

Warning

프라이빗 리포지토리에 푸시되면 빅 데이터 클러스터 이미지를 수정하지 마세요. 수정된 이미지를 사용하여 배포를 수행하면 지원되지 않는 빅 데이터 클러스터 설정으로 이어집니다.

빅 데이터 클러스터 컨테이너 이미지

오프라인 설치에는 다음 빅 데이터 클러스터 컨테이너 이미지가 필요합니다.

  • 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. Microsoft 리포지토리 및 프라이빗 리포지토리 정보를 입력하라는 메시지를 따릅니다. 스크립트가 완료되면 모든 필수 이미지가 프라이빗 리포지토리에 있어야 합니다.

  4. 컨테이너 레지스트리 및 리포지토리를 사용하도록 control.json 배포 구성 파일을 사용자 지정하는 방법을 알아보려면 여기의 지침을 따르세요. 프라이빗 리포지토리에 액세스할 수 있도록 배포하기 전에 DOCKER_USERNAMEDOCKER_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을 원하는 폴더에 다운로드합니다. 자세한 내용은 curl을 사용하여 curl을 사용하여 kubectl 바이너리 설치를 참조하세요.

  2. 대상 컴퓨터에 폴더를 복사합니다.

프라이빗 리포지토리에서 배포

프라이빗 리포지토리에서 배포하려면 배포 가이드에 설명된 단계를 사용하되 프라이빗 Docker 리포지토리 정보를 지정하는 사용자 지정 배포 구성 파일을 사용합니다. 다음 Azure Data CLI(azdata) 명령은 control.json이라는 사용자 지정 배포 구성 파일의 Docker 설정을 변경하는 방법을 보여줍니다.

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_USERNAMEDOCKER_PASSWORD 환경 변수에 지정할 수 있습니다.

다음 단계

빅 데이터 클러스터 배포에 대한 자세한 내용은 Kubernetes에 SQL Server 빅 데이터 클러스터를 배포하는 방법을 참조하세요.