DEV Community

Cover image for MiniKFでオンプレ機械学習基盤
Cong
Cong

Posted on

MiniKFでオンプレ機械学習基盤

Kubeflow とは Kubernetes ベースの本格的な機械学習基盤です。Google に強力に推進されており、GCPにはワンプッシュでデプロイできます。AWSやAzureにも当然設置可能です。

今回は MiniKFの新登場で、普段の開発マシンやオンプレサーバに簡単に本格的な機械学習基盤 Kubeflow をインストールできるようになりました。

準備

必要なもの

  • Vagrant
  • VirtualBox

Macの場合

Brewを使うと楽勝です。

brew cask install vagrant virtualbox
Enter fullscreen mode Exit fullscreen mode

Virtualboxのインストールが The Installation Failed のエラーで失敗した場合は、Macの「セキュリティとプライバシ」の設定で、 "Oracle America, Inc." のソフトウェアを許可してください。

Ubuntuの場合

VirtualBoxは apt で入ります。

sudo apt install virtualbox
Enter fullscreen mode Exit fullscreen mode

しかし、vagrant は apt で入るバージョンが古くて virtualbox に対応していないので、ダウンロードしてインストールしましょう。

https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb
Enter fullscreen mode Exit fullscreen mode

MiniKF 起動・アクセス

mkdir -p ~/w/minikf
cd ~/w/minikf
vagrant init arrikto/minikf
vagrant up
Enter fullscreen mode Exit fullscreen mode

最初の up では、VMイメージのダウンロードに20分くらいかかりますが、VMの起動が終わったら次に MiniKFを起動

vagrant ssh
minikf # vagrant 内
Enter fullscreen mode Exit fullscreen mode

minikfコマンドが成功したら、
Kubeflow 画面 http://10.10.10.10:8080
へアクセスできるようになります。

Macの場合

2019/06/06現在、VM内で minikf コマンドが失敗に終わりました。

An unexpected exception has occured
Line: build/bdist.linux-x86_64/egg/rok_common/cmdutils.py:936
Type: CommandExecutionError
Reason: Command `<ExtCommand `systemctl start data.mount', status=FINISHED (ret: 1), PID=12176, shell=False>' failed: 'Job for data.mount failed. See "systemctl status data.mount" and "journalctl -xe" for details.\n'

The logfile `/home/vagrant/provision.log' may contain more information on this error, including a backtrace.

*** MiniKF provisioning tool terminated. Press Enter to restart, Ctrl-C to exit...
Enter fullscreen mode Exit fullscreen mode

Ubuntuなどオンプレサーバに入れた場合

MacなどからSSHトンネルを接続していきましょう。
サーバ ai.local でMiniKFを動かしていたら、

ssh -NL 8080:10.10.10.10:8080 ai.local &
open http://localhost:8080

によって Kubeflow 画面にいけます。

URL、パスワード

設定情報は本系ドキュメントで確認しましょう

GPU

MiniKF does not currently support GPU pass-through, but it is definitely in our immediate plans

GPUはまだサポートされていないのですが、直近の開発プランに含まれているとのこと。

おわりに

以上、本番で Kubeflow の運用を考えていたら、開発時に MiniKF を使って、本番と開発の差分を小さくしておきましょう。

本記事はMediumQiitaからのクロスポストです。

Top comments (0)