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
-
[Processing] (処理)ページに移動します。
-
Dynamic Enginesタブを開きます。
-
環境を割り当てる必要があるDynamic Engineの名前にカーソルを合わせます。
-
ボタンをクリックし、環境を割り当てるページを開きます。
または、Dynamic Engine名をクリックして詳細パネルを開き、[Manage] (管理)ボタンをクリックします。
-
ダイアログのドロップダウンリストから、環境を1つまたは複数選択します。
-
[Assign] (割り当て)をクリックします。
-
[Download the manifest] (マニフェストをダウンロード)をクリックし、このマニフェストファイルをzip形式でダウンロードします。
-
先ほどダウンロードしたファイルを解凍します。
情報メモImportant: このマニフェストファイルのコンテンツは変更しないでください。サポートされるのは、このファイルで事前に定義されたデフォルトの設定のみです。
-
Kubernetesターミナルで以下のコマンドを順番に実行し、Dynamic Engineインスタンスをセットアップします:
-
kubectl apply -f custom-resource-definitions.yaml
このマニフェストファイルによって、クラスターにカスタムのKubernetesリソース定義が2つ(Dynamic Engineリソース用にqlikruntimeinfras.qlik.com、Dynamic Engine環境用にqlikruntimes.qlik.com)作成されます。
-
kubectl apply -f resources.yaml
このマニフェストファイルは、クラスターを登録するDynamic Engineリソースを作成し、Dynamic Engineをデプロイして、Talend Management Consoleでエンジンを論理エンティティに割り当てます。これらのリソースは、QlikRuntimeInfraの種類です。
- 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] (アクティブ)になります。
Kubernetesクラスターに何がインストールされているかを知る必要がある場合は、Kubernetesマシンにアクセスし、このKubernetes公式ドキュメンテーションで説明されているコマンドを実行します。
-
以下のコマンドを実行して環境をセットアップします。この例では、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環境リソースに関連するすべてのサービスをグループ化します。
- Optional:
この確認画面が表示されなかった場合は、デプロイメントに問題があります。次のコマンドを実行し、環境リソースの"serviceStatus"オブジェクトを検査する必要があります:
kubectl get qlikruntime qlik-processing-env-664b0bbd6c6f5522732e055d -o json | jq -r '.status'
このコマンドでは、
qlikruntimeが
Dynamic 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環境に追加をご覧ください。