最近GCPのPMLE試験に無事合格した。その試験勉強の際に問題として触れることが多かったKubeflowにすこぶる興味が湧いたので自宅PCに環境構築を行ってみた。この記事は環境構築手順についてメモ的に残すためのもの。
構築手順については先人のブログと公式のgithubを参考にしながら進めた。
venoda.hatenablog.com
github.com
注意点
インストールするkubeflowのバージョンは常に最新版が良いというわけではなく、kubernetesのバージョンとの互換性を確認する必要がある。
今回はkubernetes 1.30.5だったので、最新版のkubeflow v1.19.1をインストールした。
また、kubeflowのインストールに必要なkustomizeとkubectlもそれぞれサポートバージョンが指定されているので確認すること。
kubectlのサポートバージョンについてはkubernetesの公式にて説明されている。
kubernetes.io
ここにある通り、kubectlはkubernetesのバージョンの±1の範囲がサポートバージョンのため、今回はv1.31.0をインストールした。
事前セットアップ
WSL2の有効化とDocker Desktop、Ubuntu 24.04LTSを事前にインストールしておく必要がある。
これらのインストール手順の説明は割愛。
なお、Ubuntuをインストールする前にWSLのバージョンは最新版にアップデートしておいたほうがよさそう。
WSLのアップデートは以下のコマンドをPowerShellなどで実行する。
wsl.exe --update
環境
- Windows11 24H2
- プロセッサ: Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz 3.60 GHz
- メモリ: 32.0 GB
Kubectl v1.31.0のインストール
export os="linux/amd64" curl -LO "https://dl.k8s.io/release/v1.31.0/bin/$os/kubectl" chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl
for check
$ kubectl version --client Client Version: v1.31.0 Kustomize Version: v5.4.2
Kustomize v5.4.2のインストール
curl -LO https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.4.2/kustomize_v5.4.2_linux_amd64.tar.gz tar -zxf kustomize_v5.4.2_linux_amd64.tar.gz chmod +x ./kustomize sudo mv ./kustomize /usr/local/bin/kustomize
for check
~$ kustomize version v5.4.2
kubeflow v1.9.1のインストール
sudo sysctl fs.inotify.max_user_instances=2280 sudo sysctl fs.inotify.max_user_watches=1255360
kubeflowのmanifestリポジトリをcloneしてv1.9.1のブランチをcheckout
git clone https://github.com/kubeflow/manifests.git cd ./manifests git checkout -b v1.9.1-branch origin/v1.9.1-branch
One Line コマンドで必要なpodsをすべてインストール
while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 20; done
最終チェック。kubeflowのpodsが動いているか確認
kubectl get pods -n kubeflow
ダッシュボードにアクセスする
Portforward
kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
初期のusernameとpasswordは以下。
email: user@example.com password: 12341234
初期ログイン情報と変更の仕方は以下に記載がある。
https://github.com/kubeflow/manifests?tab=readme-ov-file#dex
無事ダッシュボードが表示できた。

