Install MLflow Tracking Server
- MLflow는 실험 관리, Model Pkg, Deployment 관리, Model 저장
Install PostgreSQL DB
kubectl create ns mlflow-system
- Backend Store로 사용할 용도의 PostgreSQL DB 쿠버네티스 클러스터에 배포
- mlflow-system이라는 namespace 생성
kubectl -n mlflow-system apply -f https://raw.githubusercontent.com/mlops-for-all/helm-charts/b94b5fe4133f769c04b25068b98ccfa7a505aa60/mlflow/manifests/postgres.yaml
Minio 설정
- MLflow Tracking Server가 Artifact Store로 사용할 용도이다.
- kubeflow 용도, mlflow 용도를 분리하기 위해 mlflow 전용 bucket을 생성
- minio에 접속해 버킷을 생성하기 위해 우선 minio-service를 port forwarding
kubectl port-forward svc/minio-service -n kubeflow 9000:9000
Username : minio
Password : minio213
- 우측 하단 + 버튼 클릭 후 create bucket 버튼(위에서 두번째) 클릭
- 좌측 메뉴를 보면 mlflow bucket이 생성되었음을 알 수 있다.
Install MLflow Tracking Server
helm repo add mlops-for-all https://mlops-for-all.github.io/helm-charts
helm repo update
helm install mlflow-server mlops-for-all/mlflow-server \
--namespace mlflow-system \
--version 0.2.0
- helm install
- Helm Chart 0.2.0 버전 설치한 예시
- 위 helm chart는 MLflow의 backend store와 artifacts store의 접속 정보를 Kubeflow 설치과정에서 생성한 minio와 위의 PostgreSQL DB 설치에서 생성한 postgresql 정보를 Default로 하여 설치한다.
- 별개 DB, Object Storage 활용하고 싶은 경우, helm install 시, value를 따로 설정하여 설치해야 된다.
- GitReference
kubectl port-forward svc/mlflow-server-service -n mlflow-system 5000:5000
- 정상적으로 클라이언트 노트에서 접속하기 위해 포트포워딩 수행 후 접속