検索

第9章 名前空間の自動プルーニングのアーキテクチャー

download PDF

名前空間の自動プルーニング機能のために、データベーススキーマ内に 2 つの異なるデータベーステーブルが作成されました。1 つは namespaceautoprunepolicy 用、もう 1 つは autoprunetaskstatus 用です。自動プルーンワーカーが、設定されたポリシーを実行します。

名前空間の自動プルーニングポリシーのデータベーステーブル

namespaceautoprunepolicy データベーステーブルには、単一の名前空間のポリシー設定が保持されます。エントリーは名前空間ごとに 1 つだけ存在しますが、namespace_id ごとに複数の行がサポートされています。policy フィールドには、{method: "creation_date", olderThan: "2w"}{method: "number_of_tags", numTags: 100} などのポリシーの詳細が保持されます。

表9.1 namespaceautoprunepolicy データベーステーブル
フィールドタイプ属性説明

uuid

character varying (225)

一意、インデックス付き

このポリシーの一意の識別子

namespace_id

Integer

外部キー

ポリシーが属する名前空間

policy

text

JSON

ポリシー設定

自動プルーンタスクステータスのデータベーステーブル

autoprunetaskstatus テーブルには、自動プルーンワーカーによって実行されるタスクが登録されます。タスクは単一の名前空間のコンテキスト内で実行されます。タスクは名前空間ごとに 1 つだけ存在します。

表9.2 autoprunetaskstatus データベーステーブル
フィールドタイプ属性説明

namespace_id

Integer

外部キー

このタスクが属する名前空間

last_ran_ms

Big Integer (bigint)

Null 許容型、インデックス付き

ワーカーがこの名前空間のポリシーを最後に実行した時刻

status

text

Null 許容型

最後に実行されたタスクの詳細

9.1. 自動プルーンワーカー

次のセクションでは、自動プルーンワーカーに関する情報について詳しく説明します。

9.1.1. 自動プルーンタスクの作成

新しいポリシーが namespaceautoprunepolicy データベーステーブルに作成されると、autoprunetask テーブルにも行が作成されます。これは同じトランザクションで実行されます。自動プルーンワーカーは、autoprunetask テーブル内のエントリーを使用して、ポリシーを実行する必要がある名前空間を特定します。

9.1.2. 自動プルーンワーカーの実行

自動プルーニングワーカーは、設定されたポリシーを実行する非同期ジョブです。そのワークフローは、autoprunetask テーブルの値に基づいています。タスクが開始すると、次のことが起こります。

  • 自動プルーンワーカーが、設定された間隔 (デフォルトは 30 秒) で起動します。
  • 自動プルーンワーカーが、autoprunetask から、last_ran_ms および FOR UPDATE SKIP LOCKED が最小または null の行を選択します。

    • last_ran_ms が null である場合、そのタスクは一度も実行されていません。
    • 最も長い時間実行されていないタスク、または一度も実行されていないタスクが優先されます。
  • 自動プルーンワーカーが、namespaceautoprunepolicy テーブルからポリシー設定を取得します。

    • ポリシー設定が存在しない場合、この名前空間のエントリーが autoprunetask から削除され、手順が直ちに停止します。
  • 自動プルーンワーカーが、組織内の全リポジトリーのページ付けされたループを開始します。

    • 自動プルーンワーカーは、policy.method に基づいて使用するプルーニング方法を決定します。
  • 自動プルーンワーカーが、以前に取得したポリシー設定を使用してプルーニング方法を実行します。

    • タグの数に基づくプルーニングの場合: 自動プルーナーワーカーが、現在アクティブなタグの数を作成日順に取得し、設定された数だけ古いタグを削除します。
    • 日付に基づくプルーニングの場合: 自動プルーナーワーカーが、指定された期間よりも古いアクティブなタグを取得し、返されたタグがすべて削除されます。
  • 自動プルーンワーカーが、削除されたタグの監査ログを追加します。
  • autoprunetask の行が選択された後に、last_ran_ms が更新されます。
  • 自動プルーンワーカーが終了します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.