13.5. 이미지 자동 정리
OpenShift Container Platform의 OpenShift 이미지 레지스트리에서 스토리지를 회수하고 클러스터가 이미지를 유지하는 기간을 설정하려면 자동 이미지 정리기를 구성할 수 있습니다. 정리 CR(사용자 정의 리소스)에 일정, 일시 중지 및 보존 옵션을 설정합니다.
사전 요구 사항
- 클러스터 관리자 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
-
ocCLI를 설치합니다.
pruner를 관리하기 위한 이미지 레지스트리 Operator의 동작은 이미지 레지스트리 Operator의 ClusterOperator 오브젝트에 지정된 managementState 와 독립적입니다. Image Registry Operator가 Managed 상태가 아닌 경우에도 이미지 정리기를 정리 사용자 정의 리소스에서 설정 및 관리할 수 있습니다.
그러나 이미지 레지스트리 Operator의 managementState는 배포된 이미지 pruner 작업의 동작을 변경합니다.
-
Managed: 이미지 pruner의--prune-registry플래그가true로 설정됩니다. -
Removed: 이미지 pruner의--prune-registry플래그가false로 설정되어 있습니다. 즉 etcd에서 이미지 메타데이터만 정리됩니다.
프로세스
imagepruners.imageregistry.operator.openshift.io/cluster라는 오브젝트에 다음spec및status필드가 있는지 확인합니다.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."다음과 같습니다.
spec.schedule-
CronJob형식 스케줄. 선택적 필드이며 기본값은 매일 자정입니다. spec.suspend-
true로 설정하면 정리를 실행하는CronJob이 일시 중단됩니다. 선택적 필드이며 기본값은false입니다. 새 클러스터의 초깃값은false입니다. spec.keepTagRevisions-
유지할 태그당 버전 수입니다. 선택적 필드이며 기본값은
3입니다. 초깃값은3입니다. spec.keepYoungerThanDuration-
이 기간보다 오래된 이미지를 유지합니다. 이 필드는 선택적 필드입니다. 값을 지정하지 않으면
keepYoungerThan또는 기본값인60m(60분)이 사용됩니다. spec.keepYoungerThan-
더 이상 사용되지 않습니다.
keepYoungerThanDuration과 동일하지만 기간은 나노초 단위의 정수로 지정됩니다. 이 필드는 선택적 필드입니다.keepYoungerThanDuration이 설정되면 이 필드는 무시됩니다. spec.resources- 표준 Pod 리소스 요청 및 제한입니다. 이 필드는 선택적 필드입니다.
spec.affinity- 표준 Pod 유사성. 이 필드는 선택적 필드입니다.
nodeSelector- 표준 Pod 노드 선택기입니다. 이 필드는 선택적 필드입니다.
spec.tolerations- 표준 Pod 허용 오차입니다. 이 필드는 선택적 필드입니다.
spec.successfulJobsHistoryLimit-
유지해야 하는 최대 작업 수입니다. 메트릭이 보고되도록 하려면
1보다 크거나 같아야 합니다. 선택적 필드이며 기본값은3입니다. 초깃값은3입니다. spec.failedJobsHistoryLimit-
유지해야 하는 실패한 최대 작업 수입니다. 메트릭이 보고되려면
1보다 크거나 같아야 합니다. 선택적 필드이며 기본값은3입니다. 초깃값은3입니다. status.observedGeneration- Operator에서 관찰하는 생성입니다.
status.conditions다음 유형의 표준 조건 오브젝트입니다.
-
Available: 정리 작업이 생성된 경우 표시됩니다. 이유는준비또는오류일 수 있습니다. -
Scheduled: 다음 정리 작업이 예정된 경우 표시됩니다. 이유는 스케줄링 ,또는일시중지오류일 수 있습니다. -
failed: 최신 정리 작업이 실패했는지를 나타냅니다.
-