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

データサービスとルート向けのカスタムDockerレジストリの設定

Dynamic Engine 環境内のデータサービスとルート向けの内部または外部Dockerレジストリを設定します。

デフォルトでは、データサービスとルートから構築された画像を保存するために、Dockerレジストリサービス (docker-registry) が Dynamic Engine インフラストラクチャにデプロイされます。
  • Dynamic Engine インスタンスのデプロイまたはアップグレード中に、デフォルトの内部レジストリサービスの設定をカスタマイズできます。
  • 独自のプライベート外部レジストリを使用するように Dynamic Engine 環境のセットアップをカスタマイズすることもできます。

始める前に

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

このタスクについて

内部Dockerレジストリはすべての Dynamic Engine 環境で共有され、グローバル設定値を使用してqlik-dynamic-engineネームスペースにデプロイされます。したがって、特定の Dynamic Engine 環境ではなく、Dynamic Engine インスタンスのデプロイメントまたはアップグレードに合わせてカスタマイズする必要があります。ただし、外部Dockerレジストリは環境ごとに設定されます。

このアーキテクチャにより、さまざまな環境に対して異なるレジストリ戦略を実装できます。たとえば、次のように設定できます。

  • 開発環境: 共有内部レジストリを使用します。
  • ステージング環境: 専用の外部レジストリを使用します。
  • 本番環境: ステージングと同じ外部レジストリを使用します。
Dockerレジストリの設定オプション
レジストリタイプ カスタマイズの手順
内部レジストリ データサービスとルート向けの内部Dockerレジストリの設定をご覧ください。

この例では、多数のデータサービスとルートをスムーズにデプロイできるようにポッドの自動スケーリングを構成する方法を示します。

内部レジストリ データサービスとルートの外部Dockerレジストリへの接続をご覧ください。

Dynamic Engine は自分のDockerレジストリに接続して使用しますが、レジストリサービスは Dynamic Engine の外部で設定する必要があります。Dynamic Engine はレジストリを設定するためのメカニズムを提供していません。

データサービスとルート向けの内部Dockerレジストリの設定

Dynamic Engine インスタンスをデプロイまたはアップグレードするときに、データサービスとルートサービスのイメージを保存する内部 Docker レジストリをカスタマイズします。

このタスクについて

以下の例では、内部DockerレジストリでHPAをアクティブ化し、作成するレプリカの数とレプリカの最大数のカスタム値を設定します。HPAは水平ポッド自動スケーリングの略で、需要に応じてポッドの数を自動的に調整するKubernetesの機能です。ポッドは、1つ以上のコンテナのグループを表すKubernetesオブジェクトです。

手順

  1. 自動スケーリングとレプリカ設定用のカスタム値ファイルを作成します。
    cat <<EOF > $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml
    configuration:
      dockerRegistry:
        replicaCount: 2
        autoscaling:
          enabled: true
          maxReplicas: 5
    EOF
  2. このカスタム値ファイルを適用します。
    helm install -i dynamic-engine-$DYNAMIC_ENGINE_ID -f $DYNAMIC_ENGINE_ID-values.yaml \
    -f $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine \
    --version $DYNAMIC_ENGINE_VERSION            

    エンジンをアップグレードする場合は、次のコマンドを使用します。

    helm upgrade -i dynamic-engine-$DYNAMIC_ENGINE_ID -f $DYNAMIC_ENGINE_ID-values.yaml \
    -f $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine \
    --version $DYNAMIC_ENGINE_VERSION

次のタスク

まだ実行していない場合は、この Dynamic Engine インスタンスに割り当てられた Dynamic Engine 環境をデプロイまたはアップグレードし、必要に応じてデフォルトまたはカスタマイズされた値のファイルを適用します。その他のカスタマイズ事例については、このガイドの関連セクションを参照してください。

データサービスとルートの外部Dockerレジストリへの接続

プライベートの外部Dockerレジストリに接続して、Dynamic Engine 環境のデータサービスとルートの画像を保存します。

始める前に

レジストリがHTTPS経由でアクセス可能であることを確認します。

手順

  1. 外部レジストリ接続用のカスタム値ファイルを作成するには、次のコマンドを実行します。
    cat <<EOF > custom-routes-registry-values.yaml
    configuration:
      registry:
        url: myregistry.example.com
        path: my-specific-registry
        username: foo
        password: bar
        secretName: my-specific-registry
    EOF         

    このコマンドは、レジストリ接続の資格情報を提供する値ファイルを作成します。シークレットは機密情報を保存するためのKubernetesオブジェクトです。

    資格情報が必要ない場合は、usernamepasswordsecretNameフィールドを空のままにします。

  2. カスタム値ファイルを使用して Dynamic Engine 環境をインストールまたはアップグレードするには、次のコマンドを実行します。
    helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
    -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml \
    -f custom-routes-registry-values.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version $DYNAMIC_ENGINE_VERSION          

    このコマンドは、Dynamic Engine 環境がインストールされているかどうかに応じて、環境をアップグレードまたはインストールします。

  3. デプロイメントを検証します。
    • 対応する Dynamic Engine 環境ネームスペースで、次を確認します。
      • dpe-data-service-route-deployerポッドが実行中であること。
      • レジストリに資格情報が必要な場合は、my-specific-registryおよびdpe-data-service-route-deployerシークレットが存在し、my-specific-registryにはレジストリ認証を表す.dockerconfigjson値が含まれ、dpe-data-service-route-deployerREGISTRY_CREDENTIALS値が含まれていること。
    • ルートまたはデータサービスをデプロイした後、次のコマンドを実行して、レジストリに画像が存在することを確認します。
      docker pull myregistry.example.com/my-specific-registry/<artifact_name>:<artifact_version>

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

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