이 글은 윈도우 11환경에서 minikube를 활용해 로컬(WSL2)에서 kubeflow 구축하는 방법을 설명하고 있습니다.
Requirements
- 윈도우 11 / WSL2 / Ubuntu 22.04.2 LTS
- Docker Desktop v4.20.1 / Kubenetes v1.25.9
설치에 앞서 이미 윈도우 11 환경에서 WSL2 설치와 Ubuntu 22.04.2 LTS는 설치된 것으로 가정합니다. 또한 Docker Destop은 v4.20.1(Kubenetes v1.25.9)이 설치된 것으로 가정합니다.
Kubeflow 설치는 Ubuntu 사용자(bctone) 계정으로 진행하고,
$ mkdir kubeflow
$ cd kubeflow
kustomize v4.5.6 -> kubectl v1.27.2 -> minikube v1.24.0 -> kubeflow v1.6.0 순서로 진행 합니다.
1. kustomize v4.5.6 설치
위와 같은 출력 값을 보면 정상 설치된 것입니다.
2. kubectl v1.27.2 설치
$ curl -LO https://dl.k8s.io/release/v1.27.2/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
$ sudo chown root: /usr/local/bin/kubectl
# 설치 확인
$ kubectl version
위와 같은 출력 값을 보면 정상 설치된 것입니다.
3. minikube v1.24.0 설치 및 설정
위와 같은 출력 값을 보면 정상 설치된 것입니다.
설치가 완료되었다면 다음의 명령어를 실행하여 minikube를 구동합니다.
# 4 CPUs / 16GB Memory
minikube start --cpus 4 --memory 16384 --kubernetes-version=v1.21.12
4. kubeflow v1.6.0 설치
$ git clone -b v1.6.0 https://github.com/kubeflow/manifests.git
$ cd manifests
$ while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done
kubeflow 설치에는 시간이 제법 소요됩니다.
5. 설치 테스트
다음 명령어를 통해 컴포넌트가 정상 설치되었지 확인해 봅니다.
$ kubectl get pods --all-namespaces
각 컴포넌트가 Running 된 것인지 확인합니다.
6. kubeflow 실행하기
다음 명령어를 통해 kubeflow를 실행해 봅니다.
$ kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
이제 http://127.0.0.1:8080에 접속하여 Kubeflow Dashboard를 확인하면 됩니다.
기본 경우 Email Address -> user@example.com 이고 Password -> 12341234 입니다.
정상 로그인 경우 다음과 같은 관리자 화면을 볼 수 있습니다.
참고