mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
86 lines
4.4 KiB
Plaintext
86 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
|
|
|
|
[role="_abstract"]
|
|
Images from the {product-registry} that are no longer required by the system because of age, status, or exceed limits being automatically pruned. As a cluster administrator, can configure or suspend the pruning Custom Resource (CR).
|
|
|
|
.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.
|
|
|
|
[IMPORTANT]
|
|
====
|
|
The behavior of the Image Registry Operator for managing the pruner is independent to the `managementState` specified on the `ClusterOperator` object of the Image Registry Operator. 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.
|
|
====
|
|
|
|
.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 * * *
|
|
suspend: false
|
|
keepTagRevisions: 3
|
|
keepYoungerThanDuration: 60m
|
|
keepYoungerThan: 3600000000000
|
|
resources: {}
|
|
affinity: {}
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
successfulJobsHistoryLimit: 3
|
|
failedJobsHistoryLimit: 3
|
|
status:
|
|
observedGeneration: 2
|
|
conditions:
|
|
- 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."
|
|
----
|
|
* `schedule`: `CronJob` formatted schedule. This is an optional field, default is daily at midnight.
|
|
* `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`.
|
|
* `keepTagRevisions`: The number of revisions per tag to keep. This is an optional field, default is `3`. The initial value is `3`.
|
|
* `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.
|
|
* `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.
|
|
* `resources`: Standard pod resource requests and limits. This is an optional field.
|
|
* `affinity`: Standard pod affinity. This is an optional field.
|
|
* `nodeSelector`: Standard pod node selector. This is an optional field.
|
|
* `tolerations`: Standard pod tolerations. This is an optional field.
|
|
* `successfulJobsHistoryLimit`: The maximum number of successful jobs to retain. Must be greater than or equal to `1` to ensure metrics are reported. This is an optional field, default is `3`. The initial value is `3`.
|
|
* `failedJobsHistoryLimit`: The maximum number of failed jobs to retain. Must be greater than or equal `1` to ensure metrics are reported. This is an optional field, default is `3`. The initial value is `3`.
|
|
* `observedGeneration`: The generation observed by the Operator.
|
|
* `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.
|
|
|