Getting Started with Kubeflow

Kubeflow란 쿠버네티스 상에서 쉽게 머신러닝을 배포할 수 있는 도구이다.
쿠버네티스 배포는 Minikube를 이용하고, Kubeflow를 테스트하는 환경은 다음과 같다.

  • Mac Os High Sierra
  • Docker version 18.03.1-ce, build 9ee9f40

참고

Getting Started with Kubeflow
Minikube for Kubeflow
Katacoda - Deploying Kubeflow

Set up Kubernetes with Minikube

Install a Hypervisor

Virtual Box 이나 VMware Fusion 을 설치한다.

Install Kubectl

$ brew install kubectl

Install & Start Minikube

$ brew cask install minikube

Start your minikube cluster

$ minikube start --cpus 4 --memory 8096 --disk-size=40g

그 외 minikube를 컨트롤 할 수 있는 명령어는 다음과 같다.

$ minikube stop
$ minikube delete

minikube가 정상적으로 실행이 되면 ssh 로 접속을 해보거나, 대쉬보드를 열어서 웹용 브라우져 화면으로 확인할 수 있다.

$ minikube ssh
$ minikube dashboard

Kubeflow quick start

Requirements:

  • ksonnet version 0.11.0 or later.
  • Kubernetes 1.8 or later
  • kubectl

Install script

$ export GITHUB_TOKEN=99510f2ccf40e496d1e97dbec9f31cb16770b884
$ export KUBEFLOW_VERSION=0.2.5
$ curl https://raw.githubusercontent.com/kubeflow/kubeflow/v${KUBEFLOW_VERSION}/scripts/deploy.sh | bash

Port-forwarding

$ export NAMESPACE=default
$ export POD=`kubectl -n ${NAMESPACE} get pods --selector=service=ambassador | awk '{print $1}' | tail -1`
$ kubectl -n ${NAMESPACE} port-forward $POD 8080:80 2>&1 >/dev/null &

Ambassador 화면 접속

http://localhost:8080