クイズ: タグは名前、ダイジェストは身元
한국어 원문으로 표시합니다.
태그와 다이제스트의 차이로 옳은 것은?
- 태그는 다른 이미지를 가리키도록 옮길 수 있고, 다이제스트는 내용의 해시라 고정된다
- 태그는 레지스트리가 서명해 주고, 다이제스트는 클라이언트가 임의로 붙이는 별칭이다
- 태그는 레지스트리마다 값이 같고, 다이제스트는 레지스트리마다 다시 계산되어 달라진다
- 태그는 한 번 붙이면 바꿀 수 없고, 다이제스트는 재빌드할 때마다 갱신된다
이미지 참조에 태그와 다이제스트를 함께 적으면 어떻게 되는가?
- 태그가 우선하고 다이제스트는 주석처럼 무시된다
- 둘이 가리키는 대상이 다르면 kubelet 이 이미지 받기를 거부한다
- 가져올 때는 다이제스트만 쓰이고, 태그는 사람이 읽는 표시로 남는다
- 참조 형식이 유효하지 않아 파드 스펙 검증 단계에서 거부된다
imagePullPolicy 를 적지 않았을 때의 기본값으로 옳은 것은?
- 어떤 참조든 항상 IfNotPresent 로 정해진다
- 다이제스트를 적었으면 IfNotPresent, 태그가 latest 이거나 태그가 없으면 Always 가 된다
- 레지스트리 호스트를 명시했으면 Always, 생략했으면 IfNotPresent 가 된다
- kubelet 설정의 기본값을 따르며 참조 모양과는 무관하다
다이제스트 고정이 보장하지 않는 것은?
- 같은 다이제스트를 두 번 받으면 같은 바이트라는 것
- 몇 년 뒤에 받아도 내용이 달라지지 않는다는 것
- 다른 레지스트리에서 받아도 같은 내용이라는 것
- 그 내용이 안전하다는 것과 누가 어떻게 만들었는지
허용 레지스트리 정책을 접두 비교로 썼을 때 생기는 전형적인 구멍은?
- 레지스트리 호스트를 생략한 짧은 참조가 기본 레지스트리로 해석되지 않고 거부된다
- 태그가 128자를 넘는 참조가 비교 대상에서 잘려 조용히 통과한다
- 대소문자가 섞인 레지스트리 이름이 정규화되지 않아 같은 호스트가 두 번 매칭된다
- 허용 호스트로 시작하는 이름의 외부 호스트가 통과한다 — 호스트 경계를 끊지 않았기 때문
이미지 정책을 어드미션 밖에서도 거는 이유로 가장 알맞은 것은?
- 어드미션에서 이미지 문자열을 읽으려면 레지스트리 인증이 필요해 실패하기 쉽기 때문
- 어드미션은 마지막 방어선이고, Dockerfile 과 매니페스트는 사람이 PR 에서 고칠 수 있는 자리이기 때문
- 클러스터 밖 검사를 통과한 이미지는 어드미션이 건너뛰어 전체 지연이 줄기 때문
- 빌드 단계에서 통과시키면 다이제스트가 그 시점에 고정되어 어드미션이 불필요해지기 때문