Dynamic Engineのデプロイメントにプライベートイメージレジストリを使用する
始める前に
- 各Dynamic Engineサービスのイメージパスまたはタグを変更しないでください。
このタスクについて
パブリックレジストリにアクセスできない場合は、別のイメージレジストリを設定して、Dynamic Engineをデプロイまたはアップグレードするためのチャートを取得できます。これにより、Kubernetesクラスターはプライベートレジストリまたは内部レジストリから必要なイメージをプルできるようになります。
この手順では、Dynamic Engineのデプロイメントのキャッシュまたはプロキシとしてプライベートイメージレジストリを設定する方法について説明します。
- この例では、プライベートイメージレジストリはmyregistry.example.comからアクセス可能であり、認証情報が必要です。
- ghcr.ioへのプロキシリポジトリはmyregistry.example.com/docker-ghcr-io-remoteからアクセスできます。
手順
タスクの結果
完了すると、すべてのDynamic Engine Helmリリースがインストールされます。つまり、dynamic-engine-crd、dynamic-engine、dynamic-engine-environmentなどのHelmチャートの名前付きデプロイメントがすべて存在することになります。
ネームスペース内のすべてのポッドが実行されている必要があります。
Talend Management Consoleではこの環境のステータスが[Ready] (準備完了)になり、タスクまたはプランを実行する準備ができていることが確定されます。
イメージレジストリが正しく構成されていないか、イメージをプルできない場合は、ポッドにはImagePullBackoffエラーが表示されます。
この表には、Dynamic Engineチャート(dynamic-engine-crd、dynamic-engine、dynamic-engine-environment)をインストールまたはアップグレードするときに発生する一般的なエラーがリストされています。
| [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-operatorがDynamic 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プロキシの使用をご覧ください。