kubernetes用機械学習基盤「kubeflow」のセットアップメモ
参考)
https://www.kubeflow.org/docs/started/getting-started/
#事前準備
###要件
・ksonnet version 0.11.0 or later.
・Kubernetes 1.8 or later
・kubectl
・0.6 CPU 以上/クラスタ
・10 GB以上のストレージ/node
###①k8sクラスタ構築
###②ksonnetインストール
#kubeflowインストール
###①ディレクトリ準備
・KUBEFLOW_SRC : $HOME/kubeflow
・KFAPP : /etc/kubeflow
###②必要なパスを追加。
$HOME/.bash_profile
に以下を追加し有効化。
export KUBEFLOW_SRC="$HOME/kubeflow"
export KFAPP="/etc/kubeflow"
###③kubeflowをダウンロード
cd ${KUBEFLOW_SRC}
git clone https://github.com/kubeflow/kubeflow.git
###④kubeflowデプロイ
${KUBEFLOW_SRC}/scripts/kfctl.sh init ${KFAPP} --platform none
cd ${KFAPP}
${KUBEFLOW_SRC}/scripts/kfctl.sh generate k8s
${KUBEFLOW_SRC}/scripts/kfctl.sh apply k8s
$KFAPP ディレクトリは、非rootユーザでもアクセスできるよう権限を与えておく
###⑤確認
エラーなく完了すると、「kubeflow」というnamespaceに諸々podが生成される。
$ kubectl get pod --namespace kubeflow
NAME READY STATUS RESTARTS AGE
ambassador-7b8477f667-cdqd7 1/1 Running 0 49m
ambassador-7b8477f667-klkxb 1/1 Running 0 49m
ambassador-7b8477f667-x5jvs 1/1 Running 0 49m
argo-ui-fb67b6bc8-282v4 1/1 Running 0 49m
centraldashboard-798f8d68d5-7wz2c 1/1 Running 0 49m
jupyter-0 1/1 Running 0 49m
katib-ui-5dd9b4967b-lq8p5 1/1 Running 0 48m
metacontroller-0 1/1 Running 0 49m
minio-869c7c66cf-gh2qh 0/1 Running 0 48m
ml-pipeline-564fffbbcb-xmr4n 1/1 Running 10 48m
ml-pipeline-persistenceagent-68bcdfddb9-rflgr 0/1 Running 9 48m
ml-pipeline-scheduledworkflow-b67c47f7f-s95ff 1/1 Running 0 48m
ml-pipeline-ui-7959bb7f47-j9flp 1/1 Running 0 48m
mysql-5d5b5475c4-tn4h7 0/1 Pending 0 48m
spartakus-volunteer-64447775fb-2rht4 1/1 Running 0 49m
studyjob-controller-8699fdffc4-2tlb5 1/1 Running 0 48m
tf-job-dashboard-9b466bbcf-szsk8 1/1 Running 0 49m
tf-job-operator-v1beta1-54784b9575-w7hvw 1/1 Running 0 49m
vizier-core-64d57f5646-p84n5 1/1 Running 10 48m
vizier-core-rest-79cfd59cfb-8vwqq 1/1 Running 0 48m
vizier-db-6bd6c6fdd5-qs5b6 0/1 Running 0 48m
vizier-suggestion-bayesianoptimization-6bff58f988-4grx8 1/1 Running 0 48m
vizier-suggestion-grid-5fdf88445d-hsbrq 1/1 Running 0 48m
vizier-suggestion-hyperband-85bffb65cd-qc284 1/1 Running 0 48m
vizier-suggestion-random-ff54d4bd8-6lc6h 1/1 Running 0 48m
workflow-controller-d5cb6468d-zff6x 1/1 Running 0 49m
###その他
いろいろはまったポイント
・kfctl.sh実行時に env.sh: No such file or directory
エラー。
→実行場所が${KFAPP}じゃないことが原因
・kfctl.sh実行時に connection timeout
エラー。
→サーバースペック不足。t3.small相当からm5.large相当に変更したら解消
・kfctl.sh実行時に patching object from cluster: merging object with existing state: unable to recognize
エラー。
→なんどか失敗したのでnamespaceのゴミがあった。kubectl delete namespace kubeflow
で解消