15.3.2. レジストリー全体の自動プルーニングポリシーの作成
レジストリー全体の自動プルーニングポリシーを、新規および既存の組織で設定できます。この機能により、レジストリー全体にルールを適用することで、Red Hat Quay 管理者の時間、労力、ストレージが節約されます。
Red Hat Quay 管理者は、DEFAULT_NAMESPACE_AUTOPRUNE_POLICY 設定フィールドと、number_of_tags または creation_date メソッドのいずれかを追加して config.yaml ファイルを更新し、この機能を有効にする必要があります。現在、この機能は v2 UI または API を使用して有効にすることはできません。
Red Hat Quay レジストリーの自動プルーニングポリシーを作成するには、次の手順に従います。
前提条件
-
FEATURE_AUTO_PRUNE機能を有効にしている。
手順
config.yamlファイルを更新して、DEFAULT_NAMESPACE_AUTOPRUNE_POLICY設定フィールドを追加します。指定したタグの数まで作成日順に最も古いタグを削除するポリシーメソッドを設定するには、
number_of_tagsメソッドを使用します。# ... DEFAULT_NAMESPACE_AUTOPRUNE_POLICY: method: number_of_tags value: 21 # ...- 1
- この場合、2 つのタグが残ります。
指定した期間 (たとえば
5d) よりも作成日が古いタグを削除するポリシーメソッドを設定するには、creation_dateメソッドを使用します。DEFAULT_NAMESPACE_AUTOPRUNE_POLICY: method: creation_date value: 5d
- Red Hat Quay デプロイメントを再起動します。
オプション: この機能をテストするためにイメージにタグを付けてプッシュする必要がある場合、以下を実行します。
Red Hat Quay レジストリーにプッシュする 4 つのサンプルイメージにタグを付けます。以下に例を示します。
$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test2$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test3$ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test4次のコマンドを入力して、自動プルーニングを有効にした状態で 4 つのサンプルイメージをレジストリーにプッシュします。
$ podman push <quay-server.example.com>/quayadmin/busybox:test$ podman push <quay-server.example.com>/<quayadmin>/busybox:test2$ podman push <quay-server.example.com>/<quayadmin>/busybox:test3$ podman push <quay-server.example.com>/<quayadmin>/busybox:test4
- イメージのプッシュ先のレジストリーで 4 つのタグがあることを確認します。
-
デフォルトでは、レジストリーレベルの自動プルーナーワーカーが 24 時間ごとに実行されます。この手順を実行した場合、24 時間後に最も古い 2 つのイメージタグが削除され、
test3タグとtest4タグが残ります。Red Hat Quay 組織をチェックして、最も古い 2 つのタグが削除されていることを確認します。