SQL Server ビッグ データ クラスターのオフライン展開を実行する

Important

Microsoft SQL Server 2019 ビッグ データ クラスターは廃止されました。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日の時点で終了しました。 詳細については、Microsoft SQL Server プラットフォーム の発表ブログ投稿 と ビッグ データ オプションを参照してください。

この記事では、SQL Server 2019 ビッグ データ クラスターのオフライン展開を実行する方法について説明します。 ビッグ データ クラスターは、コンテナー イメージのプル元となる Docker リポジトリにアクセスできる必要があります。 オフライン インストールは、必要なイメージがプライベート Docker リポジトリに配置される場所です。 そのプライベート リポジトリは、新しいデプロイのイメージ ソースとして使用されます。

Prerequisites

Warning

展開プロファイルの control.json ファイルで、パラメーター imagePullPolicy を "Always" に設定する必要があります。

プライベート リポジトリにイメージを読み込む

次の手順では、Microsoft リポジトリからビッグ データ クラスター コンテナー イメージをプルし、プライベート リポジトリにプッシュする方法について説明します。

Tip

次の手順でプロセスを説明します。 ただし、タスクを簡略化するために、これらのコマンドを手動で実行する代わりに 、自動化されたスクリプト を使用できます。

  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

Automated script

必要なすべてのコンテナー イメージを自動的にプルし、プライベート リポジトリにプッシュする自動化された Python スクリプトを使用できます。

Note

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_USERNAME と DOCKER_PASSWORD 環境変数を設定する必要があることに注意してください。

ツールをオフラインでインストールする

ビッグ データ クラスターのデプロイには、 Python、Azure Data CLI (azdata)、 kubectl など、いくつかのツールが必要です。 これらのツールをオフライン サーバーにインストールするには、次の手順に従います。

Python をオフラインでインストールする

  1. インターネットにアクセスできるコンピューターで、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. 圧縮されたファイルをターゲット コンピューターにコピーし、任意のフォルダーに抽出します。

  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 を 使用して 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_USERNAME および DOCKER_PASSWORD 環境変数で指定できます。

Next steps

ビッグ データ クラスターのデプロイの詳細については、「 Kubernetes に SQL Server ビッグ データ クラスターをデプロイする方法」を参照してください。