2.16 - Kubernetes上のPrestoでのQueryGridの自動デプロイ(GKEまたはAKS) - Teradata QueryGrid

Teradata® QueryGrid™ インストールとユーザー ガイド

Product
Teradata QueryGrid
Release Number
2.16
Release Date
2021年6月
Content Type
インストール
ユーザー ガイド
構成
管理
Publication ID
B035-5991-061K-JPN
Language
日本語 (日本)
QueryGridをGoogle Kubernetesエンジン(GKE)またはAzure Kubernetesサービス(AKS)で実行されているKubernetes上のPrestoにデプロイするには、クラスタ内のすべてのKubernetesノードにtdqg-nodeポッドを追加する必要があります。
この手順では、次の項目を前提条件とします。
  • Kubernetesクラスタがすでに作成または実行されている。
  • Kubernetesクラスタに、QueryGrid Prestoノード ポッドの実行に十分なリソースがある。AKS/GKS上のQueryGrid Prestoノード ポッドの最小要件は次のとおりです。
    • 4 GBのRAM、CPU x 1
  • kubectlバージョンは、kubernetesクラスタ バージョンと同じです。
  • helmバージョン3.2.4以降。
  1. tdqg-presto-k8s-deployパッケージをダウンロードします。詳しくは必要なパッケージのダウンロードを参照してください。
  2. 必要に応じて、次の手順を実行してQueryGrid DockerイメージをクラウドのDockerイメージにアップロードします。
    • tdqg-presto-k8s-deployパッケージを解凍し、以下を取得します。
      • Dockerイメージ フォルダにあるtdqg-node_version.tar.gztdqg-init-presto_version
      • tdqg-presto-node-chart-version.tar.gz
    • AzureまたはGoogle Cloudのドキュメントに従い、docker-imagesフォルダにある2つのDockerイメージをクラウド コンテナのイメージ リポジトリ/レジストリにアップロードします。この操作には以下のタスクが含まれる場合があります。
      • ワークステーションにDockerをインストールする
      • イメージをロードする
      • イメージをタグ付けしてクラウド リポジトリにプッシュする
  3. tdqg-presto-node-chart-version.tar.gzを解凍します。
  4. 以下のGKEおよびAKSの例のように、tdqg-presto-nodeフォルダにあるvalues.yamlを更新して、tdqg-init-prestotdqg-nodeのDockerイメージのパスを含めます。
    registryUrl: gcr.io/gcp-project-id-here
    tdqgInitPrestoVersion: latest
    tdqgNodeVersion: latest
    
    registryUrl: tdqgcr.azurecr.io
    tdqgInitPrestoVersion: latest
    tdqgNodeVersion: latest
    
  5. 現在のファブリックと保留中のファブリック アップグレードにデフォルトのファブリック ポートを使用していない場合は、values.yamlを編集して正しいファブリック ポートを追加します。
  6. システム、ファブリックを作成し、以下の2つのオプションのいずれかを使用してtdqgノード ポッドをデプロイします。
       
    install_tdqg_node_pod.pyスクリプトの使用 QueryGridマネージャの信頼証明がある場合は、tdqg-presto-nodeフォルダにあるinstall_tdqg_node_pod.pyスクリプトを使用できます。以下に、スクリプトを実行するための前提条件を示します。
    • スクリプトを実行しているシステムがQueryGridマネージャとKubernetesクラスタに接続できることを確認します。
    • 次の依存関係パッケージをインストールし、そこでスクリプトを実行します。
      • python-requests
      • pip3
      • logging
      • pyyaml
      • kubectl
      • helm(3.2.4以降)
      • python 3以降
    1. tdqg_input.yaml入力ファイルに、QueryGridマネージャやシステム情報などの詳細を入力します。

      スクリプトはシステムを作成し、次にKubernetesクラスタにtdqgノード ポッドをデプロイします。

    2. スクリプトを実行する予定の場所からkubectl get nodes -o wideコマンドを実行して、Kubernetesクラスタが起動、実行されていることを確認します。

      すべてのノードの状態がReadyであることを確認します。これは、スクリプトがQueryGridノード ポッドをデプロイする場所となるクラスタです。詳細については、READMEファイルを参照してください。

    3. 次の例のようにスクリプト実行します。

      python3 path_to_install_tdqg_nod_pod.py script

    手動インストール QueryGridマネージャの信頼証明がない場合は、手動インストールを使用します。
    1. Viewpointから、QueryGridシステムを作成します。
    2. QueryGridマネージャによって作成されたシステムから、tdqg-node.jsonトークン ファイルをダウンロードします。
    3. tdqg-prestoノードにtdqg-node.jsonファイルを直接置きます。
      $ ls /tdqg-presto-node/tdqg-node* 
      /tdqg-presto-node/tdqg-node.json
    4. tdqgノード ポッドをデプロイします。
      helm install tdqg-presto-node <path_tdqg_node_pod.py_folder>
  7. 各インスタンスでtdqg-node podRunningの状態で実行されていることを確認します。
    ステータス アクション
    実行中 なし。kubernetesクラスタ内の各ノードをViewpointで使用できます。
    実行されていない kubectl get pods -o wideを実行し、ポッドが実行されていることを確認します。
    kubernetesクラスタのサイズが変更されると、tdqg-nodeポッドが新しい各Kubernetesホストに表示されます。