컨테이너 이미지 참조 점검

실제로 가져올 수 있는 검증된 이미지 참조를 지정하세요.

설명

이미지 참조가 비어 있거나 잘못된 저장소를 가리키면 컨테이너를 시작할 수 없습니다. 가변 태그는 나중에 다른 내용을 가리킬 수 있으므로 저장소 이름, 버전과 실제 실행할 내용을 명확히 관리해야 합니다.

단독 문자열 latest는 태그 지정이 아니라 latest라는 이미지 저장소 이름으로 해석됩니다. image:latest 형태의 태그와 구분하세요. 버전 태그도 불변성이 보장되지 않으므로 정확한 내용을 고정하려면 검증한 다이제스트를 사용하세요.

잠재적 영향

  • 이미지를 가져오지 못해 배포나 복구가 실패할 수 있습니다.
  • 의도하지 않은 이미지 내용이 실행되어 운영 추적과 보안 검증이 어려워질 수 있습니다.

해결 방법

  • 컨테이너 image에 실제 레지스트리와 저장소, 검증한 태그 또는 다이제스트를 지정하고 플랫폼 호환성과 접근 권한을 확인하세요.
  • 정확한 내용 고정에는 다이제스트를 사용하고 이미지 업데이트를 별도로 검토하세요. 태그의 존재만으로 이미지의 안전성이 보장되지는 않습니다.

예시

기존 예제를 유지한 비교입니다. 변경 전 latest는 저장소 이름으로 해석되며, 변경 후 nginx:1.7.9는 오래된 버전 태그의 예시일 뿐 현재 배포 권장 이미지가 아닙니다.

변경 전

hcl
resource "kubernetes_pod" "example" {
  metadata {
    name = "terraform-example"
  }

  spec {
    container {
      image = "latest"
      name  = "example"
    }
  }
}

변경 후

hcl
resource "kubernetes_pod" "example" {
  metadata {
    name = "terraform-example"
  }

  spec {
    container {
      image = "nginx:1.7.9"
      name  = "example"
    }
  }
}

설명:

  • 변경 전: latest라는 저장소를 참조합니다. 의도한 이미지가 실제로 존재하고 접근 가능한지 확인해야 합니다.
  • 변경 후: nginx 저장소와 버전 태그를 명시합니다. 내용의 불변성이나 안전성을 보장하지는 않습니다.

참조