컨테이너 레지스트리 모범 사례 퀴즈
마지막 업데이트: 2026년 2월 25일
- 컨테이너 이미지 태그 불변성(Immutability)을 적용해야 하는 주된 이유는?
- A) 스토리지 비용 절감
- B) 이미지 다운로드 속도 향상
- C) 배포 재현성 보장 및 예기치 않은 변경 방지
- D) 레지스트리 성능 최적화
정답 보기
정답: C) 배포 재현성 보장 및 예기치 않은 변경 방지
설명: 태그 불변성은 한번 푸시된 태그가 다른 이미지로 덮어씌워지는 것을 방지합니다. 이를 통해 특정 태그가 항상 동일한 이미지를 가리키게 되어, 롤백이나 감사 시 정확히 어떤 버전이 배포되었는지 추적할 수 있습니다.
- 프로덕션 환경에서 :latest 태그 사용이 권장되지 않는 이유로 가장 적절한 것은?
- A) latest 태그는 이미지 크기가 더 크다
- B) latest는 어떤 버전인지 알 수 없고 언제든 변경될 수 있다
- C) latest 태그는 보안 스캔이 적용되지 않는다
- D) latest는 캐싱이 되지 않아 느리다
정답 보기
정답: B) latest는 어떤 버전인지 알 수 없고 언제든 변경될 수 있다
설명: :latest 태그는 가장 최근에 푸시된 이미지를 가리키는 관례적 태그로, 실제 버전 정보를 담고 있지 않습니다. 누군가 새 이미지를 푸시하면 :latest가 가리키는 대상이 변경되어, 의도치 않은 배포 변경이나 롤백 실패를 야기할 수 있습니다.
- 레지스트리 미러링(Mirroring)의 주요 이점이 아닌 것은?
- A) 이미지 풀 지연 시간 감소
- B) 외부 레지스트리 장애 시 가용성 유지
- C) 이미지 자동 보안 패치 적용
- D) 네트워크 대역폭 절약
정답 보기
정답: C) 이미지 자동 보안 패치 적용
설명: 레지스트리 미러링은 이미지를 로컬에 복제하여 가용성, 속도, 대역폭을 개선합니다. 하지만 미러링 자체는 이미지 내용을 변경하지 않으므로, 보안 패치는 원본 이미지가 업데이트된 후 다시 미러링해야 적용됩니다.
- 컨테이너 레지스트리 재해 복구(DR) 전략으로 적절하지 않은 것은?
- A) 다른 리전에 레지스트리 복제본 유지
- B) 정기적인 레지스트리 백업 수행
- C) 소스 코드 저장소에서 이미지를 재빌드할 수 있도록 Dockerfile 관리
- D) 모든 이미지를 단일 레지스트리에 집중하여 관리 단순화
정답 보기
정답: D) 모든 이미지를 단일 레지스트리에 집중하여 관리 단순화
설명: 단일 레지스트리에 모든 이미지를 집중하면 해당 레지스트리 장애 시 전체 배포가 중단될 수 있습니다. DR을 위해서는 다중 리전 복제, 백업, 그리고 소스에서 재빌드할 수 있는 체계가 필요합니다.
- 컨테이너 레지스트리 비용 최적화 방법으로 효과적인 것은?
- A) 모든 이미지를 프라이빗 레지스트리에 보관
- B) 라이프사이클 정책으로 오래된/미사용 이미지 자동 정리
- C) 이미지 태그를 자주 변경하여 새로운 레이어 생성
- D) 모든 이미지에 멀티 아키텍처 빌드 적용
정답 보기
정답: B) 라이프사이클 정책으로 오래된/미사용 이미지 자동 정리
설명: 라이프사이클 정책을 통해 더 이상 필요하지 않은 이미지(오래된 빌드, 개발용 이미지 등)를 자동으로 삭제하면 스토리지 비용을 크게 절감할 수 있습니다.
- CI/CD 파이프라인에서 이미지 보안 스캔을 수행해야 하는 시점으로 가장 권장되는 것은?
- A) 이미지 빌드 전
- B) 이미지 빌드 직후, 레지스트리 푸시 전
- C) 프로덕션 배포 후
- D) 주 1회 정기 스캔만 수행
정답 보기
정답: B) 이미지 빌드 직후, 레지스트리 푸시 전
설명: 빌드 직후 스캔하면 취약점이 있는 이미지가 레지스트리에 푸시되는 것을 방지할 수 있습니다. 이를 "Shift Left" 접근법이라 하며, 보안 문제를 개발 주기 초기에 발견하여 수정 비용을 줄입니다.
- Kubernetes에서 특정 레지스트리의 이미지만 사용하도록 강제하는 방법은?
- A) NetworkPolicy 적용
- B) PodSecurityPolicy 사용
- C) Admission Controller (OPA/Kyverno 등) 정책 적용
- D) ResourceQuota 설정
정답 보기
정답: C) Admission Controller (OPA/Kyverno 등) 정책 적용
설명: OPA Gatekeeper나 Kyverno 같은 Admission Controller를 사용하면 특정 레지스트리(예: 사내 Harbor, ECR)에서만 이미지를 풀하도록 정책을 강제할 수 있습니다. 승인되지 않은 레지스트리의 이미지를 사용하는 Pod 생성을 거부합니다.
- 컨테이너 이미지 태그 네이밍 컨벤션으로 권장되는 것은?
- A) 항상 :latest 사용
- B) 시맨틱 버전(v1.2.3) 또는 Git SHA 기반 태그
- C) 날짜만 사용 (20250225)
- D) 빌드 번호만 사용 (build-123)
정답 보기
정답: B) 시맨틱 버전(v1.2.3) 또는 Git SHA 기반 태그
설명: 시맨틱 버전은 이미지의 변경 정도를 명확히 전달하고, Git SHA 태그는 정확한 소스 커밋을 추적할 수 있게 합니다. 이 두 가지를 조합(예: v1.2.3-abc1234)하면 버전 의미와 소스 추적성을 모두 얻을 수 있습니다.
- Pull-through 캐시의 올바른 설명은?
- A) 이미지를 푸시할 때 자동으로 외부 레지스트리에도 복제
- B) 외부 레지스트리 이미지 요청 시 캐시하여 이후 로컬에서 제공
- C) 여러 레지스트리의 이미지를 하나로 병합
- D) 이미지 레이어를 압축하여 전송 크기 감소
정답 보기
정답: B) 외부 레지스트리 이미지 요청 시 캐시하여 이후 로컬에서 제공
설명: Pull-through 캐시는 클라이언트가 외부 레지스트리(Docker Hub, GCR 등)의 이미지를 요청할 때 프록시 역할을 합니다. 첫 요청 시 이미지를 가져와 로컬에 캐싱하고, 이후 동일 요청은 캐시에서 제공하여 외부 요청을 줄입니다.
- 멀티 레지스트리 전략의 장점이 아닌 것은?
- A) 단일 장애점(SPOF) 제거
- B) 지역별 지연 시간 최적화
- C) 이미지 버전 관리 단순화
- D) 레지스트리별 정책(보안, 접근 제어) 분리
정답 보기
정답: C) 이미지 버전 관리 단순화
설명: 멀티 레지스트리 전략은 가용성과 성능을 개선하지만, 여러 레지스트리 간 이미지 동기화와 버전 일관성 유지라는 추가적인 관리 복잡성을 야기합니다. 자동화된 복제 및 동기화 도구가 필요합니다.