반응형
🧠 전체 그림 먼저 (중요)
Kubeflow는 쿠버네티스 위에서 돌아가는 ML 플랫폼입니다.
NCP 인프라
└─ NKS (Kubernetes)
├─ GPU 노드
├─ Istio (트래픽 제어)
├─ Cert-Manager (TLS)
├─ Kubeflow Core
│ ├─ Notebooks
│ ├─ Pipelines
│ ├─ Katib
│ ├─ KServe
└─ NKS (Kubernetes)
├─ GPU 노드
├─ Istio (트래픽 제어)
├─ Cert-Manager (TLS)
├─ Kubeflow Core
│ ├─ Notebooks
│ ├─ Pipelines
│ ├─ Katib
│ ├─ KServe
👉 결론
Kubeflow = “쿠버네티스 + Istio + 여러 ML 컴포넌트 묶음”
0️⃣ 사전 준비 (이거 안 되면 절대 진행 ❌)
0-1. NCP 계정 & 프로젝트
- NCP 계정
- VPC 생성
- Public Subnet / Private Subnet
0-2. 로컬 PC 준비물
필수 CLI
kubectl version --client
helm version
없으면 설치:
# kubectl
curl -LO https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
curl -LO https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
1️⃣ NKS (NCP Kubernetes) 클러스터 생성
권장 사양 (최소)
| 항목 | 값 |
| Kubernetes | 1.27 이상 |
| Worker | 3대 이상 |
| Node Spec | 8 vCPU / 32GB |
| GPU | 처음엔 없어도 됨 |
📌 Kubeflow는 노드 1대로 거의 불가능
1-1. kubeconfig 설정
NCP 콘솔 → NKS → 클러스터 → kubeconfig 다운로드
export KUBECONFIG=~/kubeconfig.yaml
kubectl get nodes
kubectl get nodes
노드 나오면 성공 ✅
2️⃣ 기본 네임스페이스 준비
kubectl create namespace kubeflow
kubectl create namespace istio-system
kubectl create namespace istio-system
3️⃣ Istio 설치 (Kubeflow의 핵심)
Kubeflow는 Istio 없으면 시작도 못 함
3-1. Istio 다운로드
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.22.0 sh -
cd istio-1.22.0
export PATH=$PWD/bin:$PATH
cd istio-1.22.0
export PATH=$PWD/bin:$PATH
3-2. Istio 설치
istioctl install --set profile=default -y
확인:
kubectl get pods -n istio-system
3-3. Kubeflow 네임스페이스에 istio 주입
kubectl label namespace kubeflow istio-injection=enabled
4️⃣ Cert-Manager 설치 (HTTPS 필수)
Kubeflow는 TLS 없으면 대시보드 접근 불가
확인:
kubectl get pods -n cert-manager
5️⃣ Kubeflow 매니페스트 다운로드
Kubeflow는 helm 아님, kustomize 기반 YAML 덩어리
6️⃣ Kubeflow Core 설치 (핵심 단계 🔥)
⚠️ 절대 한 번에 설치하지 마세요
6-1. 공통 리소스
while ! kustomize build common | kubectl apply -f -; do echo retry; sleep 10; done
6-2. Istio 관련 리소스
while ! kustomize build istio | kubectl apply -f -; do echo retry; sleep 10; done
6-3. 인증 (Dex)
while ! kustomize build common/dex | kubectl apply -f -; do echo retry; sleep 10; done
6-4. Kubeflow Core
while ! kustomize build apps | kubectl apply -f -; do echo retry; sleep 10; done
⏳ 10~20분 소요
7️⃣ Kubeflow 대시보드 접속
kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
브라우저:
http://localhost:8080
기본 로그인
ID: user@example.com
PW: 12341234
PW: 12341234
8️⃣ 설치 확인 체크리스트
kubectl get pods -n kubeflow
정상 기준:
- ❌ CrashLoopBackOff 없음
- ❌ ImagePullBackOff 없음
- 대부분 Running
9️⃣ 초보자가 꼭 이해해야 하는 Kubeflow 핵심 개념
| 개념 | 한 줄 설명 |
| Notebook | Jupyter 서버 |
| TFJob | 분산 학습 |
| Katib | 하이퍼파라미터 튜닝 |
| Pipeline | 학습 워크플로우 |
| KServe | 모델 서빙 |
| Istio | 트래픽 / 인증 |
🔥 초보자 추천 학습 순서 (이거 중요)
1️⃣ Notebook 생성
2️⃣ TFJob 단일 GPU 실행
3️⃣ Katib 실험
4️⃣ Pipeline 연결
5️⃣ KServe 배포
👉 설치만 하고 바로 KServe 가면 100% 멘붕
⚠️ NCP에서 자주 터지는 문제
| 문제 | 원인 |
| Pending Pod | 노드 리소스 부족 |
| ImagePull | Private Registry |
| 503 에러 | Istio Gateway |
| 인증 안됨 | Dex 설정 |
반응형
'[GPUaaS] > Kubeflow' 카테고리의 다른 글
| [Katib] 머신러닝 모델의 하이퍼파라미터를 자동으로 찾아주는 실험 관리자 (0) | 2026.02.02 |
|---|---|
| [Kubeflow] 머신러닝 - “학습부터 서비스까지” 자동으로 돌리게 해주는 플랫폼 (0) | 2026.02.02 |
댓글