설명
태그만 사용한 컨테이너 이미지는 같은 이름이 다른 내용으로 바뀔 수 있습니다. 다이제스트로 지정하면 원하는 이미지 내용을 고정해 배포 결과를 재현하기 쉬워집니다. 다이제스트 자체가 게시자의 신뢰성이나 취약점 부재를 보장하지는 않습니다.
잠재적 영향
- 같은 태그로 빌드·배포해도 노드나 시점에 따라 다른 내용이 실행될 수 있습니다.
- 검토하지 않은 태그 변경이 배포에 반영될 수 있습니다.
해결 방법
- 신뢰하는 레지스트리에서 검증한 이미지의 실제 다이제스트를 얻어 image에 지정하세요. 대상 플랫폼과 레지스트리 접근 권한도 확인하세요.
- 이미지의 출처와 취약점을 검토하고 필요한 패치 때 다이제스트를 갱신하세요. imagePullPolicy: Always만으로 태그의 내용이 고정되지는 않습니다.
예시
registry.example.com과 변경 후의 64자리 SHA256 값은 설명용 자리표시자입니다. 실제 레지스트리와 검증된 이미지의 다이제스트로 바꾸세요.
변경 전
yaml
apiVersion: v1
kind: Pod
metadata:
name: private-image-test
spec:
containers:
- name: uses-private-image
image: registry.example.com/app
imagePullPolicy: Always
태그나 다이제스트가 없는 참조는 latest 태그를 사용합니다. Always는 내용을 고정하지 않습니다.
변경 후
yaml
apiVersion: v1
kind: Pod
metadata:
name: private-image-test
spec:
containers:
- name: uses-private-image
image: registry.example.com/app@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
imagePullPolicy: Always
SHA256 다이제스트로 이미지 내용을 지정하는 형식입니다. 이 예시 값을 그대로 사용하면 실제 이미지를 가져올 수 없습니다.