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

Dynamic Engineを1.3.0へアップグレードするための特別手順

Dynamic Engine 1.3.0では、サービスのインストール方法が変更されました。現在Dynamic Engineバージョン1.2.x 以前を使用している場合は、Helmまたはマニフェストファイルのいずれを使用してデプロイしたかにかかわらず、既存のリソースのクリーンアップまたは再割り当てを行い、アップグレードに向けてクラスターの準備を行う必要があります。

情報メモ重要: この準備手順は、Dynamic Engine 1.3.0より前のバージョンから1.3.0へアップグレードする場合にのみ実施してください。Dynamic Engine 1.3.0を新規にインストールする場合は、これらの手順は適用されません。

このタスクについて

Dynamic Engine 1.3.0では、Helmによるサービスチャートの管理方法において、アーキテクチャ上の重要な変更が導入されました。以前のバージョンでは、Dynamic Engineは非同期インストールを採用しており、サービスは個別のグループとしてデプロイされていました。これに対し、バージョン1.3.0では同期インストールが採用され、すべてのサービスがメインのDynamic Engineおよび環境用Helmチャート内に組み込まれるようになりました。

このアーキテクチャの移行には、以下の2つの重要な準備手順が必要です。リソースの所有権を新しい構造へ再割り当てすること、およびレガシーなHelmメタデータをクリーンアップすること。

手順

  1. Dynamic Engineおよび環境の識別子を収集します。
    開始する前に、次の情報を集めてください。
    • ユーザーのDynamic Engine ID (例: c-m-bdjp7fov)およびそのKubernetesネームスペース(例:dynamic-engine-ns)。これらを確認するには、kubectl get de -Aのコマンドを実行してください。
    • ユーザーのDynamic Engine環境ID (例: 6980a2850c0ed65c5a214d07)およびそのKubernetesネームスペース(例: dynamic-engine-poc-env-ns)。これらを確認するには、kubectl get dee -Aのコマンドを実行してください。

      管理している各環境に対して、この手順を繰り返してください。

    • Dynamic Engineおよび環境に対応するHelmリリース名: デフォルトではdynamic-engineおよびdynamic-engine-envとなり、デフォルトのネームスペースにインストールされます。
  2. コアサービスを新しいDynamic Engineリリースに再割り当てする。

    getコマンドは、reloaderおよびdocker-registryサービスに属するすべてのKubernetesリソースを一覧表示します。一方、annotateコマンドは、これらのリソースの所有権を、新しい統合されたDynamic Engineリリースへと再割り当てします。

    # check
    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)'
    
    # patch
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa \
      -n $DYNAMIC_ENGINE_NAMESPACE \
      -l 'app in (reloader, docker-registry)' \
      meta.helm.sh/release-name=dynamic-engine meta.helm.sh/release-namespace=default --overwrite

    プレースホルダー$DYNAMIC_ENGINE_NAMESPACEを、ユーザーのDynamic Engineネームスペース(この例では dynamic-engine-ns)に置き換えます。

  3. 環境サービスを新しい環境リリースに再割り当てします。

    このgetコマンドは、指定されたDynamic Engine環境内のすべてのサービスを一覧表示します。一方、annotateコマンドは、ユーザーの環境内のすべてのリソースを新しい統合環境リリースへと移行させます。

    kubectl get svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID'
    
    kubectl annotate svc,secret,cm,pvc,deploy,cronjob,role,rolebinding,hpa,PodDisruptionBudget,NetworkPolicy,sa,clusterrole,clusterrolebinding \
      -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
      -l 'app.qlik.com/processing-environment-id=$DYNAMIC_ENGINE_ENVIRONMENT_ID' \
      meta.helm.sh/release-name=dynamic-engine-env meta.helm.sh/release-namespace=default --overwrite

    プレースホルダーを実際の値に置き換えます。例:

    • $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE: dynamic-engine-poc-env-ns
    • $DYNAMIC_ENGINE_ENVIRONMENT_ID: 6980a2850c0ed65c5a214d07

    この手順を、保持する各環境ごとに1回ずつ繰り返してください。

  4. Dynamic Engineデプロイメントとその環境から、一部の古いHelm Secretを削除します。Dynamic Engine v1.3.0では、これらの古いSecretは現在使用されていません。
    • Dynamic Engineの場合:
      kubectl get secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_NAMESPACE -l owner=helm,'name in (reloader, docker-registry)'

      プレースホルダー$DYNAMIC_ENGINE_NAMESPACEを、ユーザーのDynamic Engineネームスペースに置き換えます。

      このgetコマンドはreloaderおよびdocker-registryに属するSecretを一覧表示し、deleteコマンドはそれらを削除します。

    • Dynamic Engine環境の場合:
      kubectl get secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      
      kubectl delete secret -n $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE \
       -l owner=helm,'name in (data-service-route-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       di-job-controller-$DYNAMIC_ENGINE_ENVIRONMENT_ID,di-job-deployer-$DYNAMIC_ENGINE_ENVIRONMENT_ID, \
       engine-config-manager-$DYNAMIC_ENGINE_ENVIRONMENT_ID, log-collector-$DYNAMIC_ENGINE_ENVIRONMENT_ID)'
      $DYNAMIC_ENGINE_ENVIRONMENT_NAMESPACE$DYNAMIC_ENGINE_ENVIRONMENT_IDを実際の値に置き換えます。
  5. Dynamic Engineバージョンをアップグレードに記載されている標準のアップグレード手順に従い、Dynamic Engineおよびその環境をバージョン1.3.0にアップグレードします。
    ステップの要件: デプロイ用ZIPファイルをダウンロードした後、かつvaluesファイルを適用する前に、各環境のvaluesファイル内にクラウドリージョンコードプロパティが存在することを確認してください。
    global:
      talendCloudRegion: <region_code>
    このリージョンコードは、Talend Management ConsoleサービスのURLで確認できます。

タスクの結果

アップグレードが成功し、サービスが統合されました。確認するには、次のコマンドを実行します。

helm ls -A

すべてのサービスのステータスがdeployedと表示されている必要があります。

NAME                    NAMESPACE  STATUS    CHART
dynamic-engine-crd     default    deployed  dynamic-engine-crd-1.3.0
dynamic-engine         default    deployed  dynamic-engine-1.3.0
dynamic-engine-env     default    deployed  dynamic-engine-environment-1.3.0

すべてのデータおよび設定は変更されず、サービスの設定方法のみが変更されました。

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

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