mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
85 lines
4.4 KiB
Plaintext
85 lines
4.4 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * applications/pruning-objects.adoc
|
|
|
|
:_mod-docs-content-type: PROCEDURE
|
|
[id="pruning-images_{context}"]
|
|
= Automatically pruning images
|
|
|
|
Images from the {product-registry} that are no longer required by the system due to age, status, or exceed limits are automatically pruned. Cluster administrators can configure the Pruning Custom Resource, or suspend it.
|
|
|
|
.Prerequisites
|
|
|
|
ifndef::openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
|
|
* You have access to an {product-title} cluster using an account with cluster administrator permissions.
|
|
endif::openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
|
|
ifdef::openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
|
|
* You have access to an {product-title} cluster using an account with `dedicated-admin` permissions.
|
|
endif::openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
|
|
* Install the `oc` CLI.
|
|
|
|
.Procedure
|
|
|
|
* Verify that the object named `imagepruners.imageregistry.operator.openshift.io/cluster` contains the following `spec` and `status` fields:
|
|
|
|
[source,yaml]
|
|
----
|
|
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` formatted schedule. This is an optional field, default is daily at midnight.
|
|
<2> `suspend`: If set to `true`, the `CronJob` running pruning is suspended. This is an optional field, default is `false`. The initial value on new clusters is `false`.
|
|
<3> `keepTagRevisions`: The number of revisions per tag to keep. This is an optional field, default is `3`. The initial value is `3`.
|
|
<4> `keepYoungerThanDuration`: Retain images younger than this duration. This is an optional field. If a value is not specified, either `keepYoungerThan` or the default value `60m` (60 minutes) is used.
|
|
<5> `keepYoungerThan`: Deprecated. The same as `keepYoungerThanDuration`, but the duration is specified as an integer in nanoseconds. This is an optional field. When `keepYoungerThanDuration` is set, this field is ignored.
|
|
<6> `resources`: Standard pod resource requests and limits. This is an optional field.
|
|
<7> `affinity`: Standard pod affinity. This is an optional field.
|
|
<8> `nodeSelector`: Standard pod node selector. This is an optional field.
|
|
<9> `tolerations`: Standard pod tolerations. This is an optional field.
|
|
<10> `successfulJobsHistoryLimit`: The maximum number of successful jobs to retain. Must be `>= 1` to ensure metrics are reported. This is an optional field, default is `3`. The initial value is `3`.
|
|
<11> `failedJobsHistoryLimit`: The maximum number of failed jobs to retain. Must be `>= 1` to ensure metrics are reported. This is an optional field, default is `3`. The initial value is `3`.
|
|
<12> `observedGeneration`: The generation observed by the Operator.
|
|
<13> `conditions`: The standard condition objects with the following types:
|
|
* `Available`: Indicates if the pruning job has been created. Reasons can be Ready or Error.
|
|
* `Scheduled`: Indicates if the next pruning job has been scheduled. Reasons can be Scheduled, Suspended, or Error.
|
|
* `Failed`: Indicates if the most recent pruning job failed.
|
|
|
|
|
|
[IMPORTANT]
|
|
====
|
|
The Image Registry Operator's behavior for managing the pruner is orthogonal to the `managementState` specified on the Image Registry Operator's `ClusterOperator` object. If the Image Registry Operator is not in the `Managed` state, the image pruner can still be configured and managed by the Pruning Custom Resource.
|
|
|
|
However, the `managementState` of the Image Registry Operator alters the behavior of the deployed image pruner job:
|
|
|
|
* `Managed`: the `--prune-registry` flag for the image pruner is set to `true`.
|
|
* `Removed`: the `--prune-registry` flag for the image pruner is set to `false`, meaning it only prunes image metadata in etcd.
|
|
====
|