# デフォルトのHelmデプロイメント

Helmチャートでは、カスタムのネームスペース、サービス名、ストレージ設定でDynamic Engineをデプロイできます。

Dynamic Engine Helmチャートはoci://ghcr.io/talend/helm/で画像として利用可能であり、以下のものが含まれています:

* dynamic-engine-crd: Dynamic Engineサービスのコアカスタムリソース定義。
* dynamic-engine: Dynamic EngineインスタンスのHelmチャート。
* dynamic-engine-environment: Dynamic Engine環境のHelmチャート。

## 始める前に

* 既存のDynamic EngineサービスがないKubernetesクラスター。Dynamic Engine Helmチャートはこのクラスターにインストールされます。
* このKubernetesクラスターへの特権アクセス。
* インストールされているコマンドラインツール: kubectlとhelm。Helmのバージョンは3.17.2以降である必要があります。

## このタスクについて

次の手順では、デフォルトのHelm valuesファイルのみを使用したデフォルトのデプロイについて説明します。

情報メモ重要:

- Dynamic Engine 1.6より前のバージョン
    - Dynamic Engineには、常に永続的な共有ストレージが必要です。
- Dynamic Engine 1.6 (現行かつ最新)
    - 永続的な共有ストレージは、デフォルトで有効になっています。本手順におけるhelm install dynamic-engineおよびhelm install dynamic-engine-environmentの両コマンドに--set configuration.persistence.enabled=falseを追加することで、Dynamic Engine内部サービスに対してこれを無効化できます。

## 手順

1. dynamic-engine-crd Helmチャートを使用し、指定されたHelmバージョンのDynamic Engineカスタムリソース定義をインストールします。
   1. 使用するチャートのバージョンは、あなたのDynamic Engineバージョンと同じです。このバージョンは、以下のいずれかの方法で見つけることができます:
      * 次のHelmコマンドを実行します:
        ```
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version ${DYNAMIC_ENGINE_VERSION}
        ```
      * Talend Management Consoleから直接バージョンを見るか、自分のDynamic Engineバージョンに含まれているチャートバージョンの[Dynamic Engine変更ログ](https://help.qlik.com/talend/en-US/dynamic-engine-changelog/Cloud)をチェックしてください。
      * [Dynamic Engineバージョンエンドポイント](https://talend.qlik.dev/apis/dynamic-engine/2021-03/#operation_return-all-supported-dynamic-engine-versions)へのAPIコールを使用します。
   2. Kubernetesクラスターで次のコマンドを実行し、目的のバージョンのHelmチャートをインストールします:
      ```
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd \
        --version ${DYNAMIC_ENGINE_VERSION}
      ```

      ${DYNAMIC\_ENGINE\_VERSION}を、お使いのDynamic Engineバージョンでサポートされているチャートのバージョンに設定します。

      バージョンを指定しないと、利用可能な最新のdynamic-engine-crdチャートバージョンがインストールされます。
2. Kubernetesマシンで、ダウンロードしておいたHelmデプロイメントのzipファイルを解凍します。
3. このコマンドを実行してエンジンインスタンスをデプロイします:
   ```
   helm install dynamic-engine-$DYNAMIC_ENGINE_ID \
     oci://ghcr.io/talend/helm/dynamic-engine \
     --version ${DYNAMIC_ENGINE_VERSION} -f $DYNAMIC_ENGINE_ID-values.yaml
   ```

   $DYNAMIC\_ENGINE\_IDを、Dynamic EngineのID (c-m-sjufu4qyなど)に置換します。
4. 次のコマンドを実行し、Dynamic Engineのステータスを確認します:
   ```
   kubectl get de -A
   ```

   次のような情報が表示されます:
   ```
   NAME                               VERSION   STATUS    LAST UPDATE
   qlik-dynamic-engine-$DYNAMIC_ENGINE_ID   0.22.0    RUNNING   2m
   ```
5. このコマンドを実行し、Dynamic Engine環境をデプロイします。
   ```
   helm install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version ${DYNAMIC_ENGINE_VERSION} -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml
   ```

   $DYNAMIC\_ENGINE\_ENVIRONMENT\_IDを、Dynamic Engine環境のID (67f7d562ffd7c3525a902542など)に置換します。
6. 環境リソースを確認します。
   1. 次のコマンドを実行します:
      ```
      kubectl get dee -A
      ```

      次のような情報が表示されます:
      ```
      NAME                                           VERSION   STATUS    LAST UPDATE
      qlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID   0.22.0    RUNNING   3m
      ```
   2. Talend Management Consoleで、Dynamic Engine環境のステータスを確認します。

      ステータスが[Ready] (準備完了)と表示されます。

## タスクの結果

正しく完了すると、Dynamic Engine環境サービスがクラスターにインストールされ、Dynamic Engineに接続します。

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

デプロイメントに失敗した場合、またはDynamic EngineサービスがDynamic Engineから切り離された場合、ステータスは[Not ready] (まだ準備できていません)になります。

## 次のタスク

Dynamic EngineがKubernetesに正常にデプロイされ、Talend Management Consoleに接続され、Dynamic Engine環境に関連付けられたので、標準エンジンで通常行うようにタスクまたはプランを実行する準備ができています。実行のためにタスクをDynamic Engine環境に追加する方法は、[タスクをDynamic Engine環境に追加](https://help.qlik.com/talend/r/ja-JP/Cloud/dynamic-engine-configuration-guide/adding-task-in-dynamic-engine-environment)をご覧ください。