Kubernetes 컨테이너 이미지 버전 선택 점검

검증된 이미지 버전을 선택하고 변경을 계획적으로 반영하세요.

설명

latest 태그나 버전을 생략한 이미지 참조는 실행할 내용을 명확히 고정하지 못합니다. latest는 유효한 태그이지만 항상 최신이거나 검증된 이미지라는 뜻은 아닙니다. 버전 태그도 변경될 수 있으므로 정확한 내용 고정에는 다이제스트가 필요합니다.

잠재적 영향

  • 예고하지 않은 이미지 변경으로 애플리케이션 동작이 달라질 수 있습니다.
  • 장애 시 실행한 버전을 확인하거나 같은 배포를 재현하기 어려울 수 있습니다.

해결 방법

  • 유지보수되는 검증된 이미지 버전을 선택하세요. 정확한 내용을 재현해야 하면 실제 이미지의 다이제스트로 고정하세요.
  • 패치와 기능 변경을 시험한 뒤 참조를 갱신하세요. 특정 버전에 고정한 상태로 보안 업데이트를 놓치지 않도록 관리하세요.

예시

기존 nginx:latest와 nginx:1.21을 비교합니다. 1.21은 과거 예시 버전이며 실제 배포의 권장 버전이 아닙니다.

변경 전

yaml
apiVersion: v1
kind: Pod
metadata:
  name: private-image-test
spec:
  containers:
    - name: app
      image: nginx:latest
      imagePullPolicy: Always

latest 태그가 가리키는 내용이 바뀌면 다음 시작 때 다른 이미지를 가져올 수 있습니다.

변경 후

yaml
apiVersion: v1
kind: Pod
metadata:
  name: private-image-test
spec:
  containers:
    - name: app
      image: nginx:1.21
      imagePullPolicy: Always

1.21이라는 버전을 명시하지만 태그 자체가 불변이라는 보장은 없습니다.

참조