12.5. 이미지 자동 정리

수명, 상태 또는 제한 초과로 인해 시스템에서 더 이상 필요하지 않은 내부 레지스트리의 이미지가 자동으로 정리됩니다. 클러스터 관리자는 사용자 정의 리소스 정리를 구성하거나 일시 중단할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야 합니다.
  • oc CLI를 설치합니다.

프로세스

  • imagepruners.imageregistry.operator.openshift.io/cluster라는 오브젝트에 다음 specstatus 필드가 있는지 확인합니다.
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
일정: CronJob 형식의 일정. 선택적 필드이며 기본값은 매일 자정입니다.
2
suspend: true 로 설정하면 정리를 실행하는 CronJob 이 일시 중단됩니다. 선택적 필드이며 기본값은 false입니다. 새 클러스터의 초깃값은 false입니다.
3
keepTagRevisions: 유지할 태그당 버전 수입니다. 선택적 필드이며 기본값은 3입니다. 초깃값은 3입니다.
4
keepYoungerThanDuration: 이 기간보다 짧은 이미지를 유지합니다. 이 필드는 선택적 필드입니다. 값을 지정하지 않으면 keepYoungerThan 또는 기본값인 60m(60분)이 사용됩니다.
5
keepYoungerThan: 더 이상 사용되지 않음. keepYoungerThanDuration과 동일하지만 기간은 나노초 단위의 정수로 지정됩니다. 이 필드는 선택적 필드입니다. keepYoungerThanDuration이 설정되면 이 필드는 무시됩니다.
6
resources: 표준 Pod 리소스 요청 및 제한 이 필드는 선택적 필드입니다.
7
유사성: 표준 Pod 유사성입니다. 이 필드는 선택적 필드입니다.
8
nodeSelector: 표준 Pod 노드 선택기입니다. 이 필드는 선택적 필드입니다.
9
허용 오차: 표준 Pod 허용 오차입니다. 이 필드는 선택적 필드입니다.
10
successfulJobsHistoryLimit: 유지할 성공 작업의 최대 수입니다. 지표를 보고하려면 >= 1이어야 합니다. 선택적 필드이며 기본값은 3입니다. 초깃값은 3입니다.
11
failedJobsHistoryLimit: 유지할 실패한 작업의 최대 수입니다. 지표를 보고하려면 >= 1이어야 합니다. 선택적 필드이며 기본값은 3입니다. 초깃값은 3입니다.
12
observedGeneration: Operator에서 관찰한 생성입니다.
13
조건: 다음 유형의 표준 조건 오브젝트입니다.
  • 사용 가능: 정리 작업이 생성되었는지를 나타냅니다. 이유는 준비 또는 오류일 수 있습니다.
  • Scheduled: 다음 정리 작업이 예약되었는지를 나타냅니다. 이유는 스케줄링, 일시 중지 또는 오류일 수 있습니다.
  • 실패: 가장 최근 정리 작업이 실패했는지를 나타냅니다.
중요

정리기 관리에 필요한 Image Registry Operator의 동작은 Image Registry Operator의 ClusterOperator 오브젝트에 지정된 managementState와는 별개입니다. Image Registry Operator가 Managed 상태가 아닌 경우에도 이미지 정리기를 정리 사용자 정의 리소스에서 설정 및 관리할 수 있습니다.

그러나 이미지 레지스트리 Operator의 managementState는 배포된 이미지 pruner 작업의 동작을 변경합니다.

  • Managed: 이미지 pruner의 --prune-registry 플래그가 true로 설정됩니다.
  • Removed: 이미지 pruner의 --prune-registry 플래그가 false 로 설정되어 etcd의 이미지 메타 데이터만 정리합니다.
  • Unmanaged : 이미지 pruner의 --prune-registry 플래그가 false로 설정됩니다.