별도 config 저장소(fishbase-dashboard-config)를 생성할 때 필요한 구조입니다.
fishbase-dashboard-config/
├── charts/
│ └── fishbase/ # 현재 프로젝트의 config/charts/fishbase 내용을 복사
│ ├── Chart.yaml
│ ├── values.yaml
│ ├── values-dev.yaml
│ ├── values-prod.yaml
│ └── templates/
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ ├── hpa.yaml
│ ├── configmap.yaml
│ ├── secret-store.yaml
│ ├── external-secret.yaml
│ └── postgres-cluster.yaml
└── README.md
# GitHub에서 fishbase-dashboard-config 저장소 생성 후
git clone https://github.com/infograb/fishbase-dashboard-config
cd fishbase-dashboard-config# 현재 프로젝트에서 차트 복사
cp -r /path/to/FishBase-Dashboard/config/charts .git add .
git commit -m "Initial Helm charts for FishBase Dashboard"
git push origin mainArgoCD Application은 클러스터 관리자가 ArgoCD UI나 CLI를 통해 생성해야 합니다:
# 개발 환경 Application 생성
argocd app create fishbase-dev \
--repo https://github.com/infograb/fishbase-dashboard-config \
--path charts/fishbase \
--dest-namespace fishbase-dev \
--dest-server https://kubernetes.default.svc \
--values values-dev.yaml \
--sync-policy automated \
--self-heal
# 운영 환경 Application 생성
argocd app create fishbase-prod \
--repo https://github.com/infograb/fishbase-dashboard-config \
--path charts/fishbase \
--dest-namespace fishbase-prod \
--dest-server https://kubernetes.default.svc \
--values values-prod.yaml \
--sync-policy automated \
--self-heal-
애플리케이션 코드 변경 시:
FishBase-Dashboard저장소에 푸시- GitHub Actions가 자동으로 이미지 빌드 및 푸시
- ArgoCD Image Updater가 새 이미지 감지
-
배포 설정 변경 시:
fishbase-dashboard-config저장소에서 Helm 차트 수정- 커밋 및 푸시
- ArgoCD가 자동으로 변경 감지 및 동기화
- ArgoCD Application은 클러스터 관리 레벨에서 별도로 관리
- Helm 차트는 별도 저장소(
fishbase-dashboard-config)의charts/디렉토리에서 관리 - GitHub Actions는 config 저장소의 image tag를 자동으로 업데이트
- ArgoCD Image Updater 설정은 클러스터 관리자가 Application 생성 시 추가해야 함