Skip to content

pghoya2956/Fishbase-Config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

FishBase Dashboard - Kubernetes Configurations

FishBase Dashboard의 Helm 차트 및 ArgoCD 배포 설정입니다.

디렉토리 구조

config/
└── charts/
    └── fishbase/           # Helm 차트
        ├── Chart.yaml
        ├── values.yaml
        ├── values-dev.yaml
        ├── values-prod.yaml
        └── templates/

배포 방법

1. 사전 요구사항

  • Kubernetes 클러스터
  • ArgoCD (argocd.heeho.net)
  • External Secrets Operator
  • CloudNativePG Operator (개발 환경)
  • Cert-manager (wildcard.heeho.net 인증서)

2. Vault 시크릿 설정

개발 환경

vault kv put secret/fishbase/dev \
  database_url="postgresql://fishuser:[email protected]:5432/fishbase?schema=public"

운영 환경

vault kv put secret/fishbase/prod \
  database_url="postgresql://username:password@your-rds-endpoint:5432/fishbase?schema=public"

3. ArgoCD Application 생성 (클러스터 관리자)

ArgoCD Application은 클러스터 레벨에서 별도로 관리됩니다. 클러스터 관리자는 다음과 같은 설정으로 Application을 생성해야 합니다:

개발 환경

운영 환경

4. 로컬 테스트 (선택사항)

cd config/charts/fishbase

# 차트 검증
helm lint .

# 템플릿 렌더링 확인
helm template fishbase-dev . -f values-dev.yaml
helm template fishbase-prod . -f values-prod.yaml

환경별 설정

개발 환경

  • URL: https://fishbase-dev.heeho.net
  • 네임스페이스: fishbase-dev
  • 데이터베이스: CloudNativePG (클러스터 내부)
  • 레플리카: 2개
  • 리소스: 낮음 (50m CPU, 128Mi Memory)

운영 환경

  • URL: https://fishbase.heeho.net
  • 네임스페이스: fishbase-prod
  • 데이터베이스: 외부 관리형 DB
  • 레플리카: 3개 (HPA로 10개까지 확장)
  • 리소스: 높음 (100m-1000m CPU, 256Mi-1Gi Memory)

이미지 업데이트

ArgoCD Image Updater가 자동으로 새 이미지를 감지하고 배포합니다:

  • 개발: ghcr.io/infograb/fishbase-dashboard:dev
  • 운영: ghcr.io/infograb/fishbase-dashboard:latest 및 semver 태그

문제 해결

External Secret 연결 실패

# Secret Store 상태 확인
kubectl describe secretstore -n fishbase-dev

# External Secret 상태 확인
kubectl describe externalsecret -n fishbase-dev

CloudNativePG 클러스터 확인

# 클러스터 상태
kubectl get cluster -n fishbase-dev

# Pod 로그
kubectl logs -n fishbase-dev fishbase-dev-postgres-1

ArgoCD 동기화 확인

# 애플리케이션 상태
argocd app get fishbase-dev
argocd app get fishbase-prod

# 수동 동기화
argocd app sync fishbase-dev
argocd app sync fishbase-prod

About

FishBase Dashboard의 Helm 차트 및 ArgoCD 배포 설정입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages