15.3. Red Hat Quay を使用してリモートレジストリーをプロキシーする
次の手順では、Red Hat Quay を使用してリモートレジストリーをプロキシーする方法を説明します。この手順は、プロキシー quay.io に設定されています。これにより、ユーザーは podman
を使用して、quay.io 上の任意の名前空間から任意のパブリックイメージをプルできます。
前提条件
-
config.yaml の
FEATURE_PROXY_CACHE
がtrue
に設定されています。 - メンバー チームのロールを割り当てられました。チームのロールの詳細は、Red Hat Quay のユーザーおよび組織 を参照してください。
手順
-
UI の Quay 組織 (たとえば
cache-quayio
) で、左側のペインの Organization Settings をクリックします。 オプション: Add Storage Quota をクリックして、組織のクォータ管理を設定します。クォータ管理の詳細については、クォータ管理 を参照してください。
注記場合によっては、Podman を使用してイメージをプルすると、プル中にクォータ制限に達したときに
unable to pull image: Error parsing image configuration: Error fetching blob: invalid status code from registry 403 (Forbidden)
エラーが返されることがあります。エラー403
は不正確であり、Podman が正しい API エラーQuota has been exceeded on namespace
を非表示にしているために発生します。この既知の問題は、将来の Podman 更新で修正される予定です。Remote Registry に、キャッシュするリモートレジストリーの名前 (
quay.io
など) を入力し、保存 をクリックします。注記リモートレジストリー に名前空間 (たとえば
quay.io/<namespace>
) を追加すると、組織内のユーザーはその名前空間からのみプロキシーできるようになります。オプション: リモートレジストリーのユーザー名 および リモートレジストリーのパスワード を追加します。
注記リモートレジストリーのユーザー名 および リモートレジストリーのパスワード を設定しない場合は、プロキシーキャッシュを削除して新しいレジストリーを作成しない限り、パスワードを追加することはできません。
オプション: Expiration フィールドに時間を設定します。
注記- プロキシー組織でキャッシュされたイメージのデフォルトのタグ Expiration フィールドは 86400 秒に設定されています。プロキシー組織では、タグがプルされるたびに、タグの有効期限が UI の Expiration フィールドに設定された値に更新されます。この機能は、Quay のデフォルトの 個別タグ有効期限 機能とは異なります。プロキシー組織では、個々のタグ機能をオーバーライドすることができます。これが発生すると、プロキシー組織の Expiration フィールドに従って、個々のタグの有効期限がリセットされます。
- 期限切れのイメージは、割り当てられた時間が経過すると消えますが、Quay に保存されます。イメージが完全に削除されるタイミング、またはコレクションされるタイミングは、組織の Time Machine の設定によって異なります。特に指定がない限り、ガベージコレクションのデフォルトの時間は 14 日です。
- Save をクリックします。
CLI で、プロキシーキャッシュとして機能するパブリックイメージ (quay.io など) をレジストリーからプルします。
$ podman pull <registry_url>/<organization_name>/<quayio_namespace>/<image_name>
重要組織がリモートレジストリー内の単一の名前空間からプルするように設定されている場合は、リモートレジストリーの名前空間を URL から省略する必要があります。たとえば、
podman pull <registry_url>/<organization_name>/<image_name>
です。