kubeflowはgoogleが作った機械学習パイプラインを作成するためのフレームワーク。macで試した。
docker for mac の kubernetes 上に構築してみた
kubeflowは
v0.5.1
requirements
docker
stable だと kubernetes のバージョンが足りなかったため
docker edge version を入れる
Docker Desktop for Mac Edge release notes | Docker Documentation
- kubernetes を有効にする
- リソースを設定する
公式より https://www.kubeflow.org/docs/other-guides/troubleshooting/#minikube
minikube start --cpus 4 --memory 8096 --disk-size=40g
が必要と思われる
以下のバージョンをインストールした
- docker: 19.03.0-rc2
- kubernetes: v1.14.3
kfctl
kubeflow を起動したりするためのスクリプト
kubeflow のリリースページからインストールする
Releases · kubeflow/kubeflow · GitHub
kfctl_v0.5.1_darwin.tar.gz
をダウンロードした
ksonnet
kubernetes のクラスター、コンフィグ等を作成する時に使う cli
brew install ksonnet/tap/ks
ks version
ksonnet version: 0.13.1
jsonnet version: v0.11.2
client-go version: kubernetes-1.10.4
セットアップ&起動
Kubeflow on Kubernetes | Kubeflow を参考におこなっていく
- コマンドの設定
kfctl
tar -xvf kfctl_v0.5.1_darwin.tar.gz
# Add kfctl to PATH, to make the kfctl binary easier to use.
export PATH=$PATH:"<path to kfctl>"
- 環境変数の設定
export KUBEFLOW_TAG=v0.5.1
# kubeflowの設定ファイルが入る
export KFAPP=apps
credentialの設定が必要なら以下も行う
# Specify credentials for the default user.
export KUBEFLOW_USER_EMAIL="[email protected]"
export KUBEFLOW_PASSWORD="12341234"
- 起動
kfctl init ${KFAPP} -V
cd ${KFAPP}
kfctl generate all -V
kfctl apply all -V
notebook 作成
port forwardして、kubeflow dashboardに接続
kubectl port-forward svc/ambassador -n kubeflow 8080:80
http://localhost:8080
より、notebook を作成、しばらくするとアクセスできる
停止、削除
kfctl delete -V