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.
|
|
4 months ago | |
|---|---|---|
| .. | ||
| applicationset | 4 months ago | |
| istio-system | 4 months ago | |
| kubeflow-core | 4 months ago | |
| kubeflow-dependencies | 4 months ago | |
| README.md | 4 months ago | |
README.md
ArgoCD를 이용한 Kubeflow 배포
이 저장소에는 ApplicationSet을 사용한 Kubeflow 배포 구현이 포함되어 있습니다.
배포 방법
-
ApplicationSet 적용:
kubectl apply -f dip/applicationset/kubeflow-applicationset.yaml -
ArgoCD UI에서 배포 상태 확인:
istio-system→kubeflow-dependencies→kubeflow-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
주요 특징
- 순차적 배포: Sync Wave를 통한 명확한 배포 순서 보장
- 자동화된 동기화:
- 자동 Prune 및 Self-Heal 활성화
- Server-Side Apply 사용
- 네임스페이스 자동 생성
- 재시도 정책: 실패 시 지수 백오프로 최대 5회 재시도
- 의존성 추적: 각 Application의 의존성 정보를 메타데이터로 관리
장점
- 중앙집중식 관리: 하나의 ApplicationSet으로 전체 Kubeflow 스택 관리
- 명확한 의존성: Wave 기반 순차 배포로 의존성 문제 해결
- 확장성: 새로운 컴포넌트 추가 시 리스트에 항목만 추가
- 일관성: 모든 Application이 동일한 정책과 설정 적용