Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
ychangkim f6f3dd53c5 update 3 weeks ago
..
README.md update 3 weeks ago
kustomization.yaml update 3 weeks ago
model-registry-application.yaml update 3 weeks ago
patch-db-deployment.yaml update 3 weeks ago
patch-model-registry-deployment.yaml update 3 weeks ago

README.md

ArgoCD Deployment for Kubeflow Model Registry

이 디렉토리는 ArgoCD를 사용하여 Kubeflow Model Registry Core 컴포넌트를 Profile 네임스페이스에 배포하기 위한 매니페스트를 포함합니다.

개요

이 overlay는 Model Registry의 Core 컴포넌트만을 배포합니다:

  • Database: MySQL 데이터베이스 (initContainer 포함)
  • Model Registry Server: REST/gRPC API 서버 (리소스 제한 포함)

참고: UI 컴포넌트 및 Istio 설정은 별도로 kubeflow 카탈로그에서 배포합니다.

사전 요구사항

  • ArgoCD가 클러스터에 설치되고 구성되어 있어야 합니다
  • 이 매니페스트들이 포함된 Git 저장소에 접근할 수 있어야 합니다

배포 방법

Core 컴포넌트 배포 (Profile 네임스페이스)

  1. ArgoCD Application 매니페스트 편집:

    vim model-registry-application.yaml
    

    다음 항목들을 수정:

    • metadata.name: Application 이름 (예: model-registry-demo01-test)
    • metadata.namespace: ArgoCD 네임스페이스 (예: platform)
    • spec.source.repoURL: Git 저장소 URL
    • spec.source.targetRevision: 브랜치/태그 (예: model-registry/v0.2.19)
    • spec.destination.namespace: 대상 Profile 네임스페이스 (예: demo01-test)
  2. ArgoCD Application 배포:

    kubectl apply -f model-registry-application.yaml
    

실제 배포 예시

테스트된 설정 예시:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: model-registry-demo01-test
  namespace: platform
spec:
  source:
    repoURL: https://gitea.example.org/dip/tenant-catalog
    targetRevision: model-registry/v0.2.19
    path: model-registry/overlays/argocd
  destination:
    namespace: demo01-test

배포 확인

ArgoCD Application 상태 확인

# ArgoCD CLI 사용 (설치된 경우)
argocd app get model-registry-demo01-test

# 수동 동기화가 필요한 경우
argocd app sync model-registry-demo01-test

# kubectl로 Application 상태 확인
kubectl get application -n platform model-registry-demo01-test

배포된 리소스 확인

# Profile 네임스페이스의 리소스 확인
kubectl get pods -n demo01-test
kubectl get svc -n demo01-test
kubectl get deployment -n demo01-test

# 특정 컴포넌트 상태 확인
kubectl get pods -n demo01-test -l app.kubernetes.io/name=model-registry

포함된 컴포넌트 및 리소스 설정

1. Model Registry Database (MySQL)

  • Deployment: model-registry-db
  • Service: model-registry-db
  • PVC: metadata-mysql
  • 특별 설정:
    • initContainer로 권한 설정 (chown 999:999 /var/lib/mysql)
    • 리소스 요청: CPU 100m, Memory 100M

2. Model Registry Server

  • Deployment: model-registry-deployment
  • Service: model-registry-service
  • 컨테이너별 리소스 설정:
    • rest-container:
      • Requests: CPU 100m, Memory 256Mi
      • Limits: CPU 500m, Memory 512Mi
    • grpc-container:
      • Requests: CPU 100m, Memory 128Mi
      • Limits: CPU 500m, Memory 512Mi

제거

# ArgoCD Application 제거
kubectl delete -f model-registry-application.yaml

# 또는 직접 삭제
kubectl delete application -n platform model-registry-demo01-test

파일 구조

overlays/argocd/
├── README.md                           # 이 파일
├── kustomization.yaml                  # 메인 kustomization 설정
├── model-registry-application.yaml     # ArgoCD Application 매니페스트
├── patch-db-deployment.yaml           # DB 배포 패치 (initContainer + 리소스)
└── patch-model-registry-deployment.yaml # 서버 배포 패치 (리소스 제한)