Skip to content

[Fix] MinIO 이미지 레지스트리를 quay.io 로 변경 - #434

Merged
howooyeon merged 2 commits into
developfrom
fix/#433-minio-registry
Sep 21, 2026
Merged

howooyeon merged 2 commits into
developfrom
fix/#433-minio-registry

Conversation

@howooyeon

@howooyeon howooyeon commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

🧾 요약

  • Docker Hub 에서 MinIO 이미지가 내려가 CI 가 실패하고 운영 MinIO 도 재시작 시 기동이 불가능한 상태라, 레지스트리를 quay.io 로 옮기고 태그를 고정

🔗 이슈

✨ 변경 내용

  • k8s/minio/deployment.yaml
    • minio/minio:latest → quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z
    • imagePullPolicy: IfNotPresent 명시
  • .github/workflows/test.yml
    • MinIO 서비스 컨테이너 이미지 동일하게 변경

⚠️ 머지 시 운영에 자동 반영

ArgoCD 가 k8s/ 경로를 develop 에서 자동 동기화(automated, selfHeal)하므로, 머지 직후 MinIO 파드가 교체됩니다.

머지 전 사전 점검을 마쳤습니다.

  • k8s-master 노드에서 quay 이미지 pull 성공 확인 (57MB, 658ms)
  • 즉 롤아웃 시 이미지를 받아오지 못해 파드가 기동하지 못할 위험은 해소된 상태
  • 데이터는 k8s-master 의 hostPath /data/minio 에 있고 노드가 고정되어 있어 이미지 교체와 무관하게 보존됩니다

롤아웃 동안 이미지 업로드와 presigned URL 발급이 잠시 실패할 수 있습니다. 이미 업로드된 이미지 조회는 익명 읽기라 영향이 없습니다.

💬 배경

  • Docker Hub 의 minio/minio 저장소 조회 시 object not found, 레지스트리 API 직접 호출 시 401 응답
  • 기존 구성은 :latest + imagePullPolicy: Always 조합이라, 파드 재시작 시 pull 실패로 ImagePullBackOff 가 됨. kubelet 은 Always 일 때 로컬 캐시로 폴백하지 않음
  • 현재 파드는 이전에 받아둔 캐시로 동작 중이나, 노드 재부팅·축출·배포 변경 등 어떤 재시작에도 복구되지 않는 상태였음
  • latest 는 외부 배포 정책 변경에 그대로 노출되고 구동 버전 추적도 어려워 릴리스 태그로 고정

✅ 확인

  • quay 태그 레지스트리 API 200 / Docker Hub 401 확인
  • 두 파일 YAML 유효성, kubectl apply --dry-run=client 통과
  • 노드에서 quay pull 성공 확인
  • 빌드 OK
  • 테스트 OK (이 PR 의 test 잡 통과로 CI 복구 확인)

Docker Hub 의 minio/minio 저장소가 내려가 이미지를 받을 수 없다.
공식 배포처인 quay.io 로 옮기고 릴리스 태그로 고정한다.

imagePullPolicy 를 IfNotPresent 로 명시한다. latest 태그일 때 적용되던
기본값 Always 는 레지스트리에 접근하지 못하면 파드가 재기동되지 못한다.
Docker Hub 저장소 삭제로 서비스 컨테이너를 받아오지 못해 test 잡이 실패한다.
@howooyeon howooyeon added the bug Something isn't working label Sep 21, 2026
@howooyeon howooyeon self-assigned this Sep 21, 2026
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • .github/workflows/test.yml is excluded by !**/*.yml
  • k8s/minio/deployment.yaml is excluded by !**/*.yaml

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Repository: SEMOSAN/SEMOSAN_BE/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 71e0fc53-c8e3-440d-9af8-b9228094211e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

📊 테스트 커버리지 리포트

Overall Project 98.47% 🍏

There is no coverage information present for the Files changed

@howooyeon
howooyeon merged commit ea75d59 into develop Sep 21, 2026
5 checks passed
@howooyeon
howooyeon deleted the fix/#433-minio-registry branch September 21, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] MinIO 이미지 Docker Hub 삭제로 CI 실패 및 운영 재시작 불가

1 participant