8.5. イメージの自動プルーニング
使用年数、ステータス、または制限の超過のためにシステムで不要となったイメージは、自動的にプルーニングされます。クラスター管理者は、プルーニングのカスタムリソースを設定したり、これを削除して無効にすることができます。
前提条件
- クラスター管理者のパーミッション。
-
oc
CLI をインストールしている。
手順
-
imagepruners.imageregistry.operator.openshift.io/cluster
という名前のオブジェクトに以下のspec
およびstatus
フィールドが含まれることを確認します。
spec: schedule: 0 0 * * * 1 suspend: false 2 keepTagRevisions: 3 3 keepYoungerThanDuration: 60m 4 keepYoungerThan: 3600000000000 5 resources: {} 6 affinity: {} 7 nodeSelector: {} 8 tolerations: [] 9 successfulJobsHistoryLimit: 3 10 failedJobsHistoryLimit: 3 11 status: observedGeneration: 2 12 conditions: 13 - type: Available status: "True" lastTransitionTime: 2019-10-09T03:13:45 reason: Ready message: "Periodic image pruner has been created." - type: Scheduled status: "True" lastTransitionTime: 2019-10-09T03:13:45 reason: Scheduled message: "Image pruner job has been scheduled." - type: Failed staus: "False" lastTransitionTime: 2019-10-09T03:13:45 reason: Succeeded message: "Most recent image pruning job succeeded."
- 1
schedule
:CronJob
形式のスケジュールこれはオプションのフィールドで、デフォルトは dayly で午前 0 時でに設定されます。- 2
suspend
:true
に設定されている場合、プルーニングを実行しているCronJob
は中断されます。これはオプションのフィールドで、デフォルトはfalse
です。新規クラスターの初期値はfalse
です。- 3
keepTagRevisions
: 保持するタグ別のリビジョン数です。これはオプションのフィールドで、デフォルトは3
です。初期値は3
です。- 4
keepYoungerThanDuration
: 指定の期間よりも後に作成されたイメージを保持します。これはオプションのフィールドです。値の指定がない場合は、keepYoungerThan
またはデフォルト値60m
(60 分) のいずれかが使用されます。- 5
keepYoungerThan
: 非推奨。keepYoungerThanDuration
と同じですが、期間は整数 (ナノ秒単位) で指定されます。これはオプションのフィールドです。keepYoungerThanDuration
を設定すると、このフィールドは無視されます。- 6
resources
: 標準のPod
リソースの要求および制限です。これはオプションのフィールドです。- 7
affinity
: 標準の Pod のアフィニティーです。これはオプションのフィールドです。- 8
nodeSelector
: イメージプルーナー Pod の標準の Pod ノードセレクター。これはオプションのフィールドです。- 9
tolerations
: 標準の Pod の容認です。これはオプションのフィールドです。- 10
successfulJobsHistoryLimit
: 保持する成功したジョブの最大数です。メトリクスがレポートされるようにするには>= 1
にする必要があります。これはオプションのフィールドで、デフォルトは3
です。初期値は3
です。- 11
failedJobsHistoryLimit
: 保持する失敗したジョブの最大数です。メトリクスがレポートされるようにするには>= 1
にする必要があります。これはオプションのフィールドで、デフォルトは3
です。初期値は3
です。- 12
observedGeneration
: Operator によって観察される生成です。- 13
conditions
: 以下のタイプの標準条件オブジェクトです。-
Available
: プルーニングジョブが作成されているかどうかを示します。理由には Ready または Error のいずれかを使用できます。 -
Scheduled
: 次のプルーニングジョブがスケジュールされているかどうかを示します。理由には、Scheduled、Suspended、または Error を使用できます。 -
Failed
: 最新のプルーニングジョブが失敗したかどうかを示します。
-
重要
プルーナーを管理するためのイメージレジストリー Operator の動作は、イメージレジストリー Operator の ClusterOperator
オブジェクトで指定される managementState
とは独立しています。イメージレジストリー Operator が Managed
状態ではない場合、イメージプルーナーは Pruning Custom Resource によって設定され、管理できます。
ただし、イメージレジストリー Operator の managementState
は、デプロイされたイメージプルーナージョブの動作を変更します。
-
Managed
: イメージプルーナーの--prune-registry
フラグはtrue
に設定されます。 -
Removed
: イメージプルーナーの--prune-registry
フラグはfalse
に設定されます。つまり、これは etcd のイメージメタデータのみのプルーニングを実行します。 -
Unmanaged
: イメージプルーナーの--prune-registry
フラグはfalse
に設定されます。