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

データサービスとルートの自動スケーリングを設定

Availability-noteBeta

Dynamic Engine環境内のデータサービスとルートに、Horizontal Pod Autoscaling (HPA、水平ポッド自動スケーリング)を設定します。

情報メモ注: この手順は、Dynamic Engine環境のデプロイメントとアップグレードにのみ適用されます。これらの設定は、後続のアップグレードで変更できます。

このタスクについて

データサービスとルートのポッド自動スケーリングをアクティブにするためには、dynamic-engine-environmentチャートを設定します。この設定では、HPAがスケールアップできるレプリカ(ポッドインスタンス)の最大数も設定できます。

手順

  1. dynamic-engine-crd Helmチャートを使用し、指定されたHelmバージョンのDynamic Engineカスタムリソース定義をインストールします。
    1. 使用するチャートのバージョンは、あなたのDynamic Engineバージョンと同じです。このバージョンは、以下のいずれかの方法で見つけることができます:
      • 次のHelmコマンドを実行します:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version <engine_version>
      • Talend Management Consoleから直接バージョンを見るか、自分のDynamic Engineバージョンに含まれているチャートバージョンのDynamic Engine変更ログをチェックしてください。
      • Dynamic EngineバージョンエンドポイントへのAPIコールを使用します。
    2. Kubernetesクラスターで次のコマンドを実行し、目的のバージョンの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チャートバージョンがインストールされます。

  2. 同じくKubernetesマシンで、ダウンロードしておいたHelmデプロイメントのzipファイルを解凍します。
  3. データサービスとルート用に、自動スケーリング特定のカスタム値ファイルを作成します。

    cat <<EOF > <environment-id>-custom-autoscaling-ds-routes.yaml
    configuration:
      dataServiceRouteDeployment:
        autoscaling:
          enabled: true
          maxReplicas: 5
    EOF

    <environment-id>を、Dynamic Engine環境のIDに置換します。この例では、ポッドの自動スケーリングの上限が5ポッドインスタンスに設定されています。

  4. 次のコマンドを実行し、Dynamic Engineインスタンスをデプロイします:
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine

    自動スケーリングのカスタマイズはDynamic Engine環境側でのみ必要であるため、これがデフォルトのデプロイメントです。この理由により、Dynamic Engineインスタンスのカスタマイズは行われていません。

  5. カスタム自動スケーリング特定の値ファイルを使って、Dynamic Engine環境をデプロイします。
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>          

    <environment-id><engine-version>を、環境IDとエンジンバージョンにそれぞれ置換します。

  6. 環境のConfigMapで、自動スケーリング設定を確認します。
    Dynamic Engine環境にはそれぞれ、専用のglobal-configuration ConfigMapがあります。特定のConfigMapへのアップデートは、それが属する環境にのみ影響します。
    kubectl get configmap -n qlik-processing-env-$DYN_ENGINE_ENV_ID global-configuration -ojsonpath="{.data['global-configuration\.json']}"
     | jq -r '.dataServiceRouteDeployment'               
    このコマンドによって、ポッドの自動スケーリング設定が取得されます。出力は、enabledステータスと、指定された最大レプリカ数を確定します:
    {
      "autoscaling": {
        "enabled": "true",
        "minReplicas": "1",
        "maxReplicas": "5",
        "cpuAverageUtilization": "0",
        "memoryAverageUtilization": "0"
      }
    }         
    情報メモヒント: 変更が必要であれば、<environment-id>-custom-autoscaling-ds-routes.yamlファイルのコンテンツをアップデートし、helm upgradeを実行することでその変更を適用できます:
    helm upgrade dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>      

タスクの結果

デプロイメントに成功すると、Dynamic Engine環境は、データサービスとルートを実行する際のワークロードの変動に応じて、設定された最大値までポッドインスタンスを自動的に増やすことができるようになります。

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

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

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