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

Dynamic Engineのデプロイメントにプライベートイメージレジストリを使用する

Dynamic Engineがデプロイメントにプライベートイメージレジストリを使用するように設定します。

始める前に

  • Dynamic Engineサービスのイメージパスまたはタグを変更しないでください。

このタスクについて

パブリックレジストリにアクセスできない場合は、別のイメージレジストリを設定して、Dynamic Engineをデプロイまたはアップグレードするためのチャートを取得できます。これにより、Kubernetesクラスターはプライベートレジストリまたは内部レジストリから必要なイメージをプルできるようになります。

この手順では、Dynamic Engineのデプロイメントのキャッシュまたはプロキシとしてプライベートイメージレジストリを設定する方法について説明します。

  • この例では、プライベートイメージレジストリはmyregistry.example.comからアクセス可能であり、認証情報が必要です。
  • ghcr.ioへのプロキシリポジトリはmyregistry.example.com/docker-ghcr-io-remoteからアクセスできます。

手順

  1. このプライベートレジストリのHelm値ファイルを作成します。
    cat <<EOF > custom-image-registry-values.yaml
    global:
      registry:
        dockerRegistry: myregistry.example.com/docker-ghcr-io-remote
        dockerUsername: <registry_username>
        dockerPassword: <registry_password>
    EOF
  2. プライベートレジストリで認証します。
    helm registry login myregistry.example.com
    このコマンドにより、Dynamic Engineのデプロイメントの際にHelmはチャートまたはイメージをプルするための認証情報にアクセスできるようになります。
  3. プライベートレジストリを使用して、Dynamic Engineインスタンスとその環境をインストールまたはアップグレードします。
    helm upgrade --install dynamic-engine-crd \
      oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine-crd \
      --version $DYNAMIC_ENGINE_VERSION
    
    helm upgrade --install dynamic-engine-$DYNAMIC_ENGINE_ID \
      -f $DYNAMIC_ENGINE_ID-values.yaml \
      -f custom-image-registry-values.yaml \
      oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine \
      --version $DYNAMIC_ENGINE_VERSION
    
    helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
      -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml \
      -f custom-image-registry-values.yaml \
      oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine-environment \
      --version $DYNAMIC_ENGINE_VERSION
  4. デプロイメントを検証します。
    • imagePullSecretsの仕様には、ポッドがプライベートレジストリからイメージをプルするために使用するシークレットが含まれています。デフォルトのシークレットはtalend-registryです。
      spec:
        imagePullSecrets:
          - name: talend-registry
    • すべてのイメージパスは、myregistry.example.com/docker-ghcr-io-remoteで始まります。
      次のコマンドを実行してイメージパスを確認できます。
      kubectl get deployment -A -l 'app.qlik.com/part-of=qlik-dynamic-engine' \
        -o jsonpath="{range .items[*]}{.metadata.name}{'\t'}{..image}{'\n'}{end}"

タスクの結果

完了すると、すべてのDynamic Engine Helmリリースがインストールされます。つまり、dynamic-engine-crddynamic-enginedynamic-engine-environmentなどのHelmチャートの名前付きデプロイメントがすべて存在することになります。

ネームスペース内のすべてのポッドが実行されている必要があります。

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

イメージレジストリが正しく構成されていないか、イメージをプルできない場合は、ポッドにはImagePullBackoffエラーが表示されます。

トラブルシューティング:

この表には、Dynamic Engineチャート(dynamic-engine-crddynamic-enginedynamic-engine-environment)をインストールまたはアップグレードするときに発生する一般的なエラーがリストされています。

Dynamic Engineチャートのインストールエラー
[Error] (エラー) 原因 修復
チャートが見つかりません
  • チャートのバージョンに誤りがある
  • プロキシの設定ミス
  • 必ず公式ドキュメントで提供されているバージョンを使用してください。
  • この表の下に示されているコマンドを使用して、プロキシの設定を確認してください。
ユーザーが認証されません ログインコマンドが実行されなかったか、認証情報が不足している 設定されたプライベートイメージレジストリにログインしてください。
ユーザーが承認されていません プライベートレジストリへの権限が不十分である 設定されたレジストリからユーザーがイメージをプルできることを確認してください。

正しく設定されたプロキシの場合、次のコマンドは同じ結果を返します。

  • プライベートレジストリからのチャートを表示します。
    helm show chart oci://myregistry.example.com/docker-ghcr-io-remote/talend/helm/dynamic-engine \
      --version $DYNAMIC_ENGINE_VERSION
  • パブリックレジストリからのチャートを表示します。
    helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version $DYNAMIC_ENGINE_VERSION 

この表には、dynamic-engine-operatorDynamic EngineまたはDynamic Engine環境ネームスペースでサービスチャートをインストールまたはアップグレードしようとしたときに発生する一般的なエラーがリストされています。

サービスチャートのインストールエラー
[Error] (エラー) 原因 修復
チャートが見つかりません Dockerイメージレジストリが正しく設定されていない イメージレジストリの設定を確認してください。
ユーザーが認証されません Dockerイメージレジストリの認証情報が設定されていない イメージレジストリの設定を確認してください。
ユーザーが承認されていません Dockerイメージレジストリの認証情報に読み取り権限がない イメージレジストリの設定を確認してください。

次のタスク

デプロイメントが成功したら、標準エンジンの場合と同様に、Dynamic Engine環境にタスクを追加できます。詳細は、Dynamic Engine環境にジョブタスクを追加をご覧ください。

情報メモヒント:

Kubernetesクラスターがエアギャップになっている場合、イメージのプルはプライベートレジストリを介してルーティングされるため、クラスターは直接のアウトバウンドHTTPまたはHTTPSアクセスを必要としません。

ただし、 Dynamic Engineサービスが外部のHTTPまたはHTTPSエンドポイントにアクセスする必要がある場合 (Qlik Talend Cloudの操作時などによくあります)、Helm値ファイルでHTTPプロキシも設定する必要があります。

手順は、エアギャップ環境でのDynamic Engineサービス用のHTTPプロキシの使用をご覧ください。

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

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