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.
tenant-catalog/kubeflow/dip
sudouser 472fc3becd 업데이트 'kubeflow/dip/kubeflow-dependencies/knative-serving/patches/config-domain.yaml' 4 months ago
..
applicationset Update values 4 months ago
istio-system Update values 4 months ago
kubeflow-core Update values 4 months ago
kubeflow-dependencies 업데이트 'kubeflow/dip/kubeflow-dependencies/knative-serving/patches/config-domain.yaml' 4 months ago
README.md Update values 4 months ago

README.md

ArgoCD를 이용한 Kubeflow 배포

이 저장소에는 ApplicationSet을 사용한 Kubeflow 배포 구현이 포함되어 있습니다.

배포 방법

  1. ApplicationSet 적용:

    kubectl apply -f dip/applicationset/kubeflow-applicationset.yaml
    
  2. ArgoCD UI에서 배포 상태 확인:

    • istio-systemkubeflow-dependencieskubeflow-core 순서로 배포
    • 각 단계별 동기화 상태 모니터링

배포 구조

ApplicationSet은 다음과 같은 3단계 배포 순서로 구성되어 있습니다:

Wave 0: Istio System (istio-system)

  • 네임스페이스: istio-system
  • 의존성: 없음 (최우선 배포)
  • 구성 요소:
    • Istio CRDs
    • Istio Namespace
    • Istio 설치 (OAuth2-Proxy 오버레이)
    • 클러스터 로컬 게이트웨이

Wave 1: Kubeflow Dependencies (kubeflow-dependencies)

  • 네임스페이스: kubeflow
  • 의존성: istio-system
  • 구성 요소:
    • Cert-Manager (Kubeflow Issuer)
    • OAuth2-Proxy (M2M Keycloak 오버레이)
    • KNative Serving (Gateway 오버레이)
    • Kubeflow Namespace
    • Network Policies
    • Kubeflow Roles
    • Kubeflow Istio Resources

Wave 2: Kubeflow Core (kubeflow-core)

  • 네임스페이스: kubeflow
  • 의존성: kubeflow-dependencies
  • 구성 요소:
    • Kubeflow Pipelines (Multi-user, Cert-Manager)
    • Katib (Kubeflow 통합)
    • Central Dashboard (OAuth2-Proxy)
    • Admission Webhook (Cert-Manager)
    • Jupyter Web App & Notebook Controller
    • Profiles + KFAM
    • PVC Viewer & Volumes Web App
    • Tensorboard Controller & Web App
    • Training Operator
    • KServe & Models Web App
    • Spark Operator
    • User Namespace
    • Kubeflow Ingress

주요 특징

  1. 순차적 배포: Sync Wave를 통한 명확한 배포 순서 보장
  2. 자동화된 동기화:
    • 자동 Prune 및 Self-Heal 활성화
    • Server-Side Apply 사용
    • 네임스페이스 자동 생성
  3. 재시도 정책: 실패 시 지수 백오프로 최대 5회 재시도
  4. 의존성 추적: 각 Application의 의존성 정보를 메타데이터로 관리

장점

  • 중앙집중식 관리: 하나의 ApplicationSet으로 전체 Kubeflow 스택 관리
  • 명확한 의존성: Wave 기반 순차 배포로 의존성 문제 해결
  • 확장성: 새로운 컴포넌트 추가 시 리스트에 항목만 추가
  • 일관성: 모든 Application이 동일한 정책과 설정 적용