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

KubernetesでDynamic EngineDynamic Engine環境をセットアップ

自分のKubernetesクラスターを1つ用意し、そこにDynamic Engineとその環境をデプロイします。

デプロイメントを完了させるためには、次の操作が必要です:
  1. エンジンと環境の論理エンティティを作成します。
  2. 環境をそのエンジンに割り当てます。
  3. エンジン、環境、それらの割り当てについてマニフェストファイルを生成します。
  4. そのファイルをクラスターに適用し、対応する物理エンティティをセットアップします。
Dynamic Engineワークフローの図

Dynamic Engineを追加

Dynamic Engineの論理エンティティを追加し、KubernetesクラスターにDynamic Engineをデプロイしやすいようにします。

Before you begin

Talend Management Consoleでインフラストラクチャー管理者(TMC_CLUSTER_MANAGEMENT権限を含む)ロールを持っていること。

Procedure

  1. [Processing] (処理)ページに移動します。
  2. Dynamic Enginesタブを開きます。
  3. [Add Dynamic Engine] (追加)をクリックします。
  4. 名前と説明を入力します。
    名前は英数字、ハイフン( - )、ピリオド( . )、アンダースコア( _ )のみにしてください。スペースや他の特殊文字は許可されません。
  5. [Next] (次へ)をクリックします。
  6. Optional: 利用可能なDynamic Engine環境のリストが表示されます。このリストから環境を1つ以上割り当てるか、後で[Processing] (処理)ページのDynamic Engineタブから割り当てます。
  7. [Create] (作成)をクリックし、Dynamic Engineの作成を確定します。
    Dynamic Engineのデプロイメント用のダイアログが表示されます。

    2つのマニフェストファイルが含まれているzipが生成されます。これをKubernetesクラスターに適用してDynamic Engineをデプロイします。このzipのダウンロードはまだ必要ありません。

    その代わり、まずDynamic Engine環境の作成と割り当てを進めてください。それによって、必要なマニフェストファイルをまとめてダウンロードできるようになります。

  8. ダイアログボックスを閉じます。

Results

Dynamic Engineのステータスが[New] (新規)に設定されます。

Dynamic Engine環境を追加

Dynamic Engine専用の新しい環境を作成します。

この環境はDynamic Engineでのみ使用でき、一度に割り当てられるDynamic Engineは1つだけです。

Before you begin

Talend Management Consoleで[Environment Administrator] (環境管理者)ロールを持っていること。

Procedure

  1. [Environments] (環境)ページに移動します。
  2. [Dynamic Engine Environments] (環境)タブを開きます。
  3. [Add environment] (環境を追加)をクリックします。
  4. 環境の名前を入力します。
    名前は英数字、ハイフン( - )、ハッシュ( # )、アンダースコア( _ )のみにしてください。文頭または文末のスペースや他の特殊文字は許可されません。
  5. 新しい環境に最初のワークスペースの名前を入力します。
    許可されている文字は環境名と同じです。
  6. Optional: 別のユーザーをワークスペースのオーナーにする場合は、ドロップダウンリストからユーザー名を選択します。
  7. 説明を入力します。
  8. [Add] (追加)をクリックして変更を保存します。

Results

Dynamic Engine環境のステータスは[Not assigned] (未割り当て)になります。

環境は、指定したワークスペースで作成されます。

ワークスペースを共有するためには、環境名をクリックし、[Workspaces] (ワークスペース)タブのワークスペース名の横にある[Share workspace] (ワークスペースを共有)アイコンをクリックします。

この新しい環境に他のワークスペースを追加するには、環境名をクリックし、[Workspaces] (ワークスペース)タブの[Add workspace] (ワークスペースを追加)をクリックします。

What to do next

環境をDynamic Engineに割り当てる準備ができています。

Dynamic Engineに環境を割り当ててKubernetesでデプロイ

Dynamic Engineに、環境を1つまたは複数割り当てます。この環境から次回実行されるタスクは、Dynamic Engineで発生します。

環境をDynamic Engineに割り当てると、その環境用にエンジンと実行プロファイルの既存設定がオーバーライドされます。

Dynamic Enginesタブのリストから直接、またはドロワーから、1つまたは複数の環境をDynamic Engineに割り当てることができます。この操作はDynamic Engineを作成する時も可能です。

Before you begin

  • Talend Management Consoleで[Environment Administrator] (環境管理者)ロールを持っていること。
  • Dynamic EngineにDynamic Engine環境を割り当てるため、インフラストラクチャー管理者ロール(TMC_CLUSTER_MANAGEMENT)を持っていること。

Procedure

  1. [Processing] (処理)ページに移動します。
  2. Dynamic Enginesタブを開きます。
  3. 環境を割り当てる必要があるDynamic Engineの名前にカーソルを合わせます。
  4. [Assign environments] (環境を割り当て)ボタンをクリックし、環境を割り当てるページを開きます。[Assign environments] (環境を割り当て)ボタン。
    または、Dynamic Engine名をクリックして詳細パネルを開き、[Manage] (管理)ボタンをクリックします。
  5. ダイアログのドロップダウンリストから、環境を1つまたは複数選択します。
    Dynamic Engine環境の選択。
  6. [Assign] (割り当て)をクリックします。
    Dynamic Engineに割り当てられた環境。
  7. [Download the manifest] (マニフェストをダウンロード)をクリックし、このマニフェストファイルをzip形式でダウンロードします。
  8. 先ほどダウンロードしたファイルを解凍します。
    情報メモImportant: このマニフェストファイルのコンテンツは変更しないでください。サポートされるのは、このファイルで事前に定義されたデフォルトの設定のみです。
  9. Kubernetesターミナルで以下のコマンドを順番に実行し、Dynamic Engineインスタンスをセットアップします:
    1. kubectl apply -f custom-resource-definitions.yaml

      このマニフェストファイルによって、クラスターにカスタムのKubernetesリソース定義が2つ(Dynamic Engineリソース用にqlikruntimeinfras.qlik.com、Dynamic Engine環境用にqlikruntimes.qlik.com)作成されます。

    2. kubectl apply -f resources.yaml

      このマニフェストファイルは、クラスターを登録するDynamic Engineリソースを作成し、Dynamic Engineをデプロイして、Talend Management Consoleでエンジンを論理エンティティに割り当てます。これらのリソースは、QlikRuntimeInfra種類です。

    3. 2回目の実行が終了したら、次のコマンドを実行してデプロイを確認します:
      kubectl wait --for=condition=Available=true -n qlik-dynamic-engine deployment/engine-operator-dp --timeout 60s
      60秒間待って次のレスポンスが表示されれば、エンジンが正常にデプロイされたことになります:
      deployment.apps/engine-operator-dp condition met
      上のコマンドでは、qlik-dynamic-engineがインフラストラクチャーサービスをグループ化するネームスペースであり、deployment/engine-operator-dpが監視対象のデプロイメントリソースです。
    正しく完了すると、Talend Management ConsoleにあるDynamic Engine論理エンティティのステータスが[Active] (アクティブ)になります。
    Dynamic Engineのステータスが[Active] (アクティブ)になっている状態。

    Kubernetesクラスターに何がインストールされているかを知る必要がある場合は、Kubernetesマシンにアクセスし、このKubernetes公式ドキュメンテーションで説明されているコマンドを実行します。

  10. 以下のコマンドを実行して環境をセットアップします。この例では、1つの環境だけが作成され割り当てられています。
    kubectl apply -f resources-<environment_id>.yaml
    情報メモTip:

    エンジンが複数の環境に関連付けられている場合は、正しいファイルを区別するためにこのIDが必要です。

    環境IDを見つける方法として、次の2つがあります:
    • Talend Management Consoleで、削除する環境の詳細ページを開きます。このIDはURLに表示されます。たとえば、このURL
      https://app.eu.cloud.talend.com/tmc/environments/dynamic-engine-environments/66f2c0bb3e063d3518122259/overview
      66f2c0bb3e063d3518122259セグメントは環境IDです。
    • 次のコマンドを使用:
      kubectl get qlikruntime.qlik.com
      これは、中にIDを含んでいるリソース名またはネームスペース名を返します。たとえば、qlik-processing-env-66f2c0bb3e063d3518122259となります。
    実行が終了したら、次のコマンドを実行してデプロイを確認します:
    kubectl wait --for=condition=RUNNING=true --all qlikruntime --timeout 300s
    300秒間、このコマンドはすべてのQlikRuntimeという種類のリソースを検索します。次のようなレスポンスが表示されれば、エンジン環境が正常にデプロイされたことになります:
    qlikruntime.qlik.com/qlik-processing-env-66f2c0bb3e063d3518122259 condition met
    このレスポンスでは、監視対象のリソース名はqlik-processing-env-664b0bbd6c6f5522732e055dとなります。この名前はネームスペース名としても使われ、Dynamic Engine環境リソースに関連するすべてのサービスをグループ化します。
  11. Optional: この確認画面が表示されなかった場合は、デプロイメントに問題があります。次のコマンドを実行し、環境リソースの"serviceStatus"オブジェクトを検査する必要があります:
    kubectl get qlikruntime qlik-processing-env-664b0bbd6c6f5522732e055d -o json | jq -r '.status'
    このコマンドでは、qlikruntimeDynamic Engine環境専用であるカスタムリソースの種類を、そして前の例で示したように、qlik-processing-env-664b0bbd6c6f5522732e055dがリソースおよび環境のネームスペース名を表しています。
    • 以下のメッセージは、"serviceStatus"オブジェクトにある"di-job-deployer"サービスのエラー例です。"jobErrorMessage"フィールドはデプロイ中に観察されたエラーの詳細を示し、期待されたhelmチャートが見つからなかったことを表しています。

      以下の例では、行がいくつかスキップされています。

      {
        "conditions": [
          {
            "lastTransitionTime": "2024-05-30T13:05:25Z",
            "message": "Service is not deployed",
            "reason": "Deployment_not_found",
            "status": "True",
            "type": "NOT_DEPLOYED"
          }
        ],
        "serviceStatus": {
          ...
          "di-job-deployer": {
            "conditions": [
              ...
              {
                "lastTransitionTime": "2024-05-30T13:06:39Z",
                "message": "Service is in error",
                "reason": "Pod_failed",
                "status": "False",
                "type": "IN_ERROR"
              }
            ],
            "creationDate": "2024-05-30T13:05:25Z",
            "jobErrorMessage": "Error: release: not found\nUpgrading...\nupgrade 
            result: Release \"di-job-deployer-92d6e127-e070-4264-a9e8-00adbbbfbc03\" does not exist. 
            Installing it now.\nError: failed to download 
            ...
            \nError: failed to download 
            \"https://artifactory.datapwn.com/artifactory/tlnd-helm-ce-dev/dpe-di-job-deployer-2.0.0.tgz\
            "\nexit_code: 1\n",
            "jobStatus": "FAILED",
            "lastUpdateDate": "2024-05-30T13:01:52Z"
          },
            ...
          }
        }
      }
      このような場合はサポートチームに連絡し、Dynamic Engine環境のマニフェストファイルを調査してください。情報が提供されたら、環境の割り当てを解除し、再度割り当てて新しいマニフェストファイルを生成します。

Results

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

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

マニフェストの実装に失敗した場合、またはDynamic EngineサービスがDynamic Engineから切り離された場合、ステータスは[Not ready] (まだ準備できていません)になります。

What to do next

Dynamic EngineがKubernetesに正常にデプロイされ、Talend Management Consoleに接続され、Dynamic Engine環境に関連付けられたので、標準エンジンで通常行うようにジョブタスクまたはプランを実行する準備ができています。実行のためにタスクをDynamic Engine環境に追加する方法は、タスクをDynamic Engine環境に追加をご覧ください。

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

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