19.6.3. 이미지 정리 문제
이미지가 정리되지 않음
이미지가 계속 누적되고 prune
명령이 예상 항목의 일부만 제거하는 경우 이미지를 정리 후보로 간주하기 위해 적용해야 하는 조건을 이해해야 합니다.
특히 제거하려는 이미지가 선택한 태그 버전 임계값보다 각 태그 기록의 더 높은 위치에 발생하도록 합니다. 예를 들어 sha:abz
라는 오래되고 더 이상 사용되지 않는 이미지를 고려해 보십시오. 이미지에 태그가 지정된 네임스페이스 N
에서 다음 명령을 실행하면 myapp
이라는 단일 이미지 스트림에 이미지에 세 번 태그가 지정됩니다.
$ image_name="sha:abz" $ oc get is -n openshift -o go-template='{{range $isi, $is := .items}}{{range $ti, $tag := $is.status.tags}}{{range $ii, $item := $tag.items}}{{if eq $item.image "'$image_name'"}}{{$is.metadata.name}}:{{$tag.tag}} at position {{$ii}} out of {{len $tag.items}} {{end}}{{end}}{{end}}{{end}}' # Before this place {{end}}{{end}}{{end}}{{end}}, use new line myapp:v2 at position 4 out of 5 myapp:v2.1 at position 2 out of 2 myapp:v2.1-may-2016 at position 0 out of 1
기본 옵션을 사용하면 myapp:v2.1-may-2016
태그 기록의 위치 0
에서 이미지가 정리되지 않으므로 이미지가 정리되지 않습니다. 정리할 이미지에 대해 관리자는 다음 중 하나를 수행해야 합니다.
oc adm prune images
명령을 사용하여--keep-tag-revisions=0
을 지정합니다.경고이 작업은 지정된 임계값 미만 또는 지정된 임계값 미만인 오브젝트에서 참조하지 않는 한 기본 이미지가 있는 모든 네임스페이스에서 모든 태그를 효과적으로 제거합니다.
-
위치가 리버전 임계값 미만인 istags 를 모두 삭제합니다. 즉,
myapp:v2.1
및myapp:v2.1-may-2016
을 의미합니다. - 새 빌드를 동일한 istag로 내보내거나 다른 이미지에 태그를 지정하여 내역에서 이미지를 더 이동합니다. 안타깝게도 이전 릴리스 태그에는 이 기능이 적절하지 않습니다.
이미지를 정의하지 않은 시간 동안 유지해야 하는 경우가 아니면 이름에 특정 이미지 빌드의 날짜 또는 시간이 있는 태그를 피해야 합니다. 이러한 태그는 내역에 하나의 이미지만 있어 정리되지 않습니다. istag 명명에 대해 자세히 알아보기.
비보안 레지스트리에 대한 보안 연결 사용
oc adm prune 이미지
출력에 다음과 유사한 메시지가 표시되면 레지스트리가 보안되지 않고 oc adm prune images
클라이언트에서 보안 연결을 사용하려고 합니다.
error: error communicating with registry: Get https://172.30.30.30:5000/healthz: http: server gave HTTP response to HTTPS client
-
권장되는 솔루션은 레지스트리를 보호하는 것입니다. 이를 원하지 않는 경우
--force-insecure
를 명령에 추가하여 클라이언트가 안전하지 않은 연결을 사용하도록 할 수 있습니다 (권장되지 않음 ).
19.6.3.1. 보안 레지스트리에 대해 비보안 연결 사용
oc adm prune images 명령 출력에 다음 오류 중 하나가 표시되면 연결 확인을 위해
클라이언트에서 사용하는 인증 기관이 아닌 다른 인증 기관에서 서명한 인증서를 사용하여 레지스트리를 보호함을 의미합니다.
oc adm prune images
error: error communicating with registry: Get http://172.30.30.30:5000/healthz: malformed HTTP response "\x15\x03\x01\x00\x02\x02" error: error communicating with registry: [Get https://172.30.30.30:5000/healthz: x509: certificate signed by unknown authority, Get http://172.30.30.30:5000/healthz: malformed HTTP response "\x15\x03\x01\x00\x02\x02"]
기본적으로 사용자의 구성 파일에 저장된 인증 기관 데이터는 master API와의 통신에 동일한 내용으로 사용됩니다.
--certificate-authority
옵션을 사용하여 컨테이너 이미지 레지스트리 서버에 대한 올바른 인증 기관을 제공합니다.
잘못된 인증 기관 사용
다음 오류는 보안 컨테이너 이미지 레지스트리의 인증서에 서명하는 데 사용되는 인증 기관이 클라이언트에서 사용하는 기관과 다릅니다.
error: error communicating with registry: Get https://172.30.30.30:5000/: x509: certificate signed by unknown authority
--certificate-authority
플래그를 사용하여 올바른 정보를 제공하십시오.
해결 방법으로 --force-insecure
플래그를 대신 추가할 수 있습니다 (권장되지 않음 ).