Kubeflow 1.1導入でハマったこと

Image for post
Image for post

TL;DR

Kubeflowは四半期に一回くらい触れなければならない時があり、その都度穴という穴全部踏んでるんではないかというくらいハマる。最終的にインストールできたわーとなった後、別の機会でもう一度やろうとしたときにもう一度ハマる。ということを繰り返しているので今回はちゃんとメモろうと思う。

導入するもの

  • Kubeflow 1.1 細かくは末尾参照。

導入の仕方

今回Kubeflow 1.1が必要になった。が、手元には0.7しかない。そして1.1の導入にもし失敗したときにKubeflowが何もなくなってしまうので上書きしたくはない。という事で
1. Kubeflow 0.7のVMをクローン
2. クローンしたVMの0.7を消す
3.1.1を入れる
という手順にすることにした。

導入環境

1ノードクラスタ、Master/Worker兼任。ヘタレですんません。

ハマったこと

PV

いつもやってしまう。通算何度目?
今回はこれ使ってみた。NodeのローカルディスクをDinamic ProvisioningのStorage Classとして作れるので今回のような「外部ストレージとかがっつり用意するのも面倒なんだけどDinamic Provisioningはほしい」ってときに結構便利。

必要ならdefault storageClassにしておこう。

リソース不足

元々0.7の環境は4vCPUで動いていた。が今回はリソース不足で動かず。面倒なので12vCPUまで上げた。最終的なリソース消費量はこれくらいでした。(繰り返し:1ノードでMaster/Worker兼任させて動いている状態でこのくらい)

istio-tokenがマウントできないエラー

MountVolume.SetUp failed for volume “istio-token” : failed to fetch token: the server could not find the requested resource

謎のエラー。以下で解消。

https://github.com/kubeflow/manifests/issues/959
https://github.com/kubeflow/manifests/issues/959#issuecomment-593289634

GUIのエラー

Kubeflowのダッシュボードはkubeflow Namespace内のService経由ではなく、istio-system Namespaceのservice/istio-ingressgateway経由になる。以下の太字になってるところのポート番号(80のProxyポート(という言い方が正しいのかどうかは不明))でアクセス。

https://github.com/kubeflow/kubeflow/issues/3615

小ネタ

-n kubeflowって1000回くらい打つのでset-contextしておくと便利です。

仕上がり

おまけ:細かいバージョン

Istioは1.3。かなり残念な感じ。

Written by

Work for Hewlett Packard Enterprise as Solution Architect / Write on IT / Infrastructure / Cloud Native / Kubernetes / OpenShift / Japanese|English

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store