2.16 - Kubernetes上のPresto用Prestoターゲット タスクの作成(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
日本語 (日本)
Google Cloud(GKE)またはAzure(AKS)でKubernetes上のPrestoにQueryGridをデプロイするには、ViewpointでPrestoターゲット コネクタを作成します。Serverプロパティにはクラウドで予約済みの静的な外部IPを使用します。静的IPアドレスを保有していない場合は、静的IPアドレスの予約方法についてGoogle CloudまたはAzureのドキュメントを参照してください。Google Cloudの静的IPは、プレミアム静的IPである必要があります。
  1. まだ取得していない場合は、tdqg-presto-k8s-deployパッケージをダウンロードします。詳しくは必要なパッケージのダウンロードを参照してください。
  2. tdqg-presto-k8s-deployパッケージを解凍し、以下のファイルを取得します。
    • tdqg-node docker image zip
    • tdqg-init-presto docker image zip
    • tdqg-presto-node.zipファイル
  3. クラウドで予約済みの静的な外部IPを使用して、Prestoターゲット コネクタを作成します。
    • 以前Kubernetes上のPrestoでのQueryGridの自動デプロイ(GKEまたはAKS)のためにinstall_tdqg_node_pod.pyスクリプトを使用した場合は、同じスクリプトを使用してPrestoターゲット コネクタを作成できます。ファブリックとコネクタの詳細をtdqg_input.yamlファイルに追加します。クラウドで予約済みの静的な外部IPをServerプロパティで指定し、スクリプトを実行します。
    • 以前にこのスクリプトを使用していない場合は、ViewpointでPrestoコネクタを作成し、Serverプロパティでクラウド予約済みの静的な外部IPを使用します。
  4. Presto values.yamlファイルを作成し、Helmチャートを使用してPrestoをデプロイします。
    既存のPrestoデプロイを編集する場合は、Presto values.yamlファイルのバージョンを更新して、QueryGridセクションを含める必要があります。編集するには、手動で行なう方法またはインストール スクリプトを使用する方法の2つのオプションがあります。
    アクション 説明
    新しいPrestoデプロイを追加する 新しいPrestoデプロイを追加する場合、tdqg-presto-nodeにあるpresto_values.yamlvalues.yamlファイルとして使用できます。
    1. 標準的なPresto構成タスク、例えばノード数、CPU、メモリ、データベースを参照するカタログなどを実行します。
    2. initFileにあるノード ソフトウェア バージョンおよびPrestoコネクタ バージョンを、実際のバージョンに置き換えます。
    既存のPrestoデプロイを変更する presto_values.yamlファイルから次のセクションを既存のPresto values.yaml構成ファイルに追加します。
    • initFile.sh – ノード ソフトウェアのバージョンとPrestoコネクタのバージョンを実際のバージョンに置き換えます。
    • additionalVolumeshostPathsボリューム。tdqgノード ポッドとPrestoポッド間でのファイル交換を可能にします。
    • coordinator: affinityworker: affinity – Prestoコーディネータとワーカーで同じホストを共有しないでください
    • catalogsqgremoteカタログを追加します。
  5. Helmを使用して、helm repo addコマンドを実行しStarburst Prestoリポジトリを追加することにより、Prestoをデプロイします。
    詳細については、https://docs.starburstdata.com/latest/k8s/requirements.html#helm-chart-repositoryを参照してください。
  6. helmリポジトリを追加したら、以下のコマンドを使用してPrestoをデプロイします。
    helm upgrade my-presto starburstdata/starburst-presto \
    --install \
    --version <Presto_version> \ #e.g. 345.0.0
    --values <path to Presto values.yaml file>
    
  7. 操作が正常に完了したことを確認します。
    kubectl get pods -o wide
    次の項目が表示される場合は、操作が正常に行なわれています。
    • 各Kubernetesホストに対して実行状態のtdqg-nodeポッド
    • Prestoコーディネータ ポッド
    • 以前に指定されたPrestoワーカー ポッドの数

    ポッドが開始および停止している場合は、コンテナ ログを確認してトラブルシューティングを行ないます。

  8. Kubernetesポッド ネットワークの外部にPrestoサーバーを公開します。
    これを行うには、静的IPを使用してロード バランサーを作成します。ロード バランサーの作成方法については、Starburst Enterprise PrestoおよびGoogle Cloud/Azureのドキュメントを参照してください。必要に応じてPrestoポッドを再度デプロイします。
  9. kubectl get servicesを実行する前に約30秒待ち、外部IPがPrestoコーディネータに割り当てられたことを確認します。
    QueryGridノードまたはコネクタ ソフトウェアをアップグレードする場合、ノード ソフトウェア バージョンPrestoコネクタ バージョンをPrestoの構成yamlファイルで更新して再適用する必要があります。これにより、すべてのPrestoポッドが再起動されます。