メイン コンテンツをスキップする 補完的コンテンツへスキップ

GKEクラスターにDynamic Engineをデプロイする

HelmチャートとGKE固有のストレージクラスを使用して、Google Kubernetes Engine(GKE)クラスターにDynamic Engineインスタンスとその環境をインストールします。

情報メモ注: この手順は、ノード数が固定されたGKEクラスターにのみ適用されますが、GKE Autopilotモードはサポートしていません。

始める前に

  • GKEに関する基本的な知識が必要です。Google CloudおよびGKE を操作するには、マシンにGoogle Cloud CLIをインストールします。詳細は以下をご覧ください。
    • Google Cloud CLIをインストールおよび初期化するためのGoogle Cloud SDK インストールガイド
    • gke-gcloud-auth-pluginプラグインをインストールし、Google Cloudプロジェクトに対して認証するためのkubectlのGKE アクセス
      情報メモヒント: プラグインをインストールするには、次を実行します。
      gcloud components install gke-gcloud-auth-plugin
      Google Cloudで認証してプロジェクトを設定するには、次を実行します。
      gcloud auth login
      gcloud config set project $PROJECT_ID
      $PROJECT_IDをGoogle CloudプロジェクトIDに置き換えます。
  • Dynamic Engineに必要な設定でGKEクラスターを作成または更新します。
    gcloud container clusters create $CLUSTER_NAME \
      --addons=GcpFilestoreCsiDriver \
      --cluster-version=1.30 \
      --location=us-central1-a \
      --machine-type=e2-standard-4 \
      --num-nodes=3
    クラスターがすでに存在する場合は、次のように更新します。
    gcloud container clusters update $CLUSTER_NAME \
      --update-addons=GcpFilestoreCsiDriver=ENABLED \
      --region=$REGION
    これらのコマンドは、GcpFilestoreCsiDriverアドオンを有効にし、少なくとも4つの vCPU (例: e2-standard-4以上)を持つマシンタイプを指定し、固定数のノードをプロビジョニングします。
  • ローカルkubeconfig認証情報を生成して設定し、GKEクラスターへのアクセスを構成します。詳細については、「kubectlのGKE アクセス」を参照してください。
    情報メモヒント: kubeconfigを生成するには、次を実行します。
    gcloud container clusters get-credentials $CLUSTER_NAME --region $REGION --project $PROJECT_ID
    次に、現在のKubernetesコンテキストを確認します。
    kubectl config get-contexts
    現在のコンテキストが意図したものではない場合は、次のように設定します。
    kubectl config use-context $GKE_CONTEXT
    $GKE_CONTEXTは通常、gke_$PROJECT_ID_$REGION_$CLUSTER_NAMEです。変数を実際の値に置き換えます。
  • すべてのシステムポッドがGKEクラスター内で実行されていることを確認します。次のコマンドを実行して、ステータスを確認します。
    kubectl get pods -n kube-system
    Google Cloud Platformコンソールでもステータス情報を確認できます。
  • dynamic-engine-crdカスタムリソース定義は、oci://ghcr.io/talend/helm/dynamic-engine-crd helmチャートを使用してインストールされている必要があります。インストールされていない場合は、次のコマンドを実行してインストールしてください。
    1. 使用するチャートのバージョンを見つけます。
      • 次のHelmコマンドを実行します:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --version <engine_version>
      • Talend Management Consoleから直接バージョンを見るか、自分のDynamic Engineバージョンに含まれているチャートバージョンのDynamic Engine変更ログをチェックしてください。
      • Dynamic EngineバージョンエンドポイントへのAPIコールを使用します。
    2. 次のコマンドを実行し、目的のバージョンのHelmチャートをインストールします。
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      <helm_chart_version>を、お使いのDynamic Engineバージョンでサポートされているチャートのバージョンに置換します。

      バージョンを指定しないと、利用可能な最新のdynamic-engine-crdチャートバージョンがインストールされます。

このタスクについて

この手順では、Helmチャートを使用してGKEクラスターにカスタマイズされたDynamic Engine環境をデプロイする方法について説明します。これには、GKEストレージクラスを構成し、GKE互換性のためにHelm値ファイルをカスタマイズする手順が含まれています。

手順

  1. Dynamic Engine用にReadWriteMany GKEストレージクラスを設定します。
    Dynamic Engine専用のReadWriteManyストレージクラスを作成し、後の手順でその名前をdefaultStorageClassNameとして使用します。例:
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: dyn-engine
    provisioner: filestore.csi.storage.gke.io
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    parameters:
      tier: <filestore-tier>
      network: <name-of-configured-network>
    この例では、dyn-engineというストレージクラスを作成します。このストレージクラスに対して、プロビジョナーfilestore.csi.storage.gke.ioが、それぞれティアフィールドとネットワークフィールドで指定された特定のネットワークに特定のタイプの永続ボリュームを作成するように構成されます。
    • このティアフィールドに入力できるGKE Filestoreタイプについては、GKEティアを参照してください。
    • ネットワークの名前は、GKEクラスター用に設定した名前です。クラスターのネットワーク名を指定しなかった場合は、デフォルトを使用します。

      現在のストレージクラス設定からネットワークフィールドを削除すると、デフォルト名が自動的に使用されます。

    情報メモヒント: Dynamic Engine専用のストレージクラスが推奨されますが、組織のポリシーに応じて、GKEによって提供されるデフォルトのストレージクラスを使用することもできます。これらのデフォルトのストレージクラスのリストについては、「自動的にインストールされるGKEストレージクラス」を参照してください。
  2. Dynamic Engineインスタンスとその環境をデプロイします。
    1. このコマンドを実行してエンジンインスタンスをデプロイします:
      helm upgrade --install dynamic-engine \
        -f $DYNAMIC_ENGINE_ID-helm-values/$DYNAMIC_ENGINE_ID-values.yaml \
        oci://ghcr.io/talend/helm/dynamic-engine

      これはデフォルトのデプロイメントです。このコマンドは、Dynamic Engineインスタンスがデプロイされているかどうかに応じて、インスタンスをアップグレードまたはインストールします。$DYNAMIC_ENGINE_IDを、Dynamic EngineのID (c-m-sjufu4qyなど)に置換します。

    2. 環境用のカスタムHelm値ファイルを作成します。

      cat <<EOF > $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-gke-values.yaml
      ---
      configuration:
        persistence:
          defaultStorageClassName: dyn-engine
      EOF
      この例では、以前に作成したストレージクラスdyn-enginedefaultStorageClassNameの名前として設定します。使用しているDynamic Engine固有のストレージクラスに応じて変更してください。
    3. Dynamic Engine環境用のHelmチャートをデプロイします。
      helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
        -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
        -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-gke-values.yaml \
        oci://ghcr.io/talend/helm/dynamic-engine-environment \
        --version $DYNAMIC_ENGINE_VERSION
      このコマンドは、Dynamic Engine環境がデプロイされているかどうかに応じて、環境をアップグレードまたはインストールします。

タスクの結果

完了すると、Dynamic Engine環境サービスがGKEクラスターにインストールされ、タスクまたはプランを実行できるようになります。

Talend Management Consoleではこの環境のステータスが[Ready] (準備完了)になり、タスクまたはプランを実行する準備ができていることが確定されます。

デプロイメントに失敗するか、Dynamic Engineサービスの関連付けが解除されると、ステータスは「まだ準備できていません」になります。

次のタスク

デプロイメントが成功したら、標準エンジンの場合と同様に、Dynamic Engine環境にタスクを追加できます。詳細は、Dynamic Engine環境にジョブタスクを追加をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。