研究室サーバーとKubeflowで実践するNotebook as a Service
by
Azuma
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Azuma (@azuma_alvin) CloudNative Days Summer 2025 研究室サーバーとKubeflowで実践する Notebook as a Service
Slide 2
Slide 2 text
1 Self Introduction • 修士2年 • Go, Kubernetes, Vimが好き • 研究室サーバーの管理人 Azuma @azuma_alvin @kitsuyaazuma
Slide 3
Slide 3 text
学生、研究者、データサイエンティスト 「アイデアを迅速に検証・共有したい」 2
Slide 4
Slide 4 text
プラットフォームエンジニア 「リソースを最適化したい」 「必要最小限の権限を与えたい」 3
Slide 5
Slide 5 text
4 Notebook as a Service (NaaS) 複数ユーザーが環境構築を意識せず ブラウザ上から直接コードを実行・共有できる Self-Hosted Managed Google Colab Amazon SageMaker (Studio) JupyterHub Kubeflow (Notebooks)
Slide 6
Slide 6 text
5 Lab × NaaS = ?? 新規メンバーの認知負荷を軽減 Container Engine Machine Learning GPU Linux
Slide 7
Slide 7 text
6 ユーザーがリソース指定 Self-Hosted NaaS on Kubernetes Kubeflow Notebooks JupyterHub (Z2JH) 管理者がプロファイル定義 JupyterLabに加えて code-serverも標準サポート Jupyter Notebookと JupyterLabを標準サポート
Slide 8
Slide 8 text
7 Kubeflow Notebooks Overview /_/jupyter/new /notebook/{USERNAME}/{NOTEBOOK_NAME}/lab カスタムイメージやリソースを ユーザーが自由に指定
Slide 9
Slide 9 text
8 Architecture #1 Profile (CR) Notebook (CR) Profile Controller Notebook Controller reconcile watch reconcile watch use virtualservice
Slide 10
Slide 10 text
9 Architecture #2 (Ingress Gateway) Gateway Virtual Service prefix: / ext_authz filter Virtual Service prefix: /jupyter Central Dashboard JupyterLab
Slide 11
Slide 11 text
想定されるユーザーの声❶ 「Jupyterは再現性と保守性に欠ける」 10
Slide 12
Slide 12 text
11 Customization #1: marimo Custom Image marimo:JupyterLabの課題を解決するノートブック ✓ 再現性 ✓ Gitとの相性 ✓ スクリプト再利用 ✓ パッケージ管理 ✓ Webアプリとして共有 ➤ Kubeflow Notebooksでもmarimoを利用したい
Slide 13
Slide 13 text
Official Images 12 Customization #1: marimo Custom Image Base Jupyter code-server RStudio Conda Python Tidyverse PyTorch etc. marimo Custom Images Baseイメージを拡張してmarimoカスタムイメージを作成
Slide 14
Slide 14 text
13 Customization #1: marimo Custom Image Kubeflow公式イメージの枠を超えてカスタマイズ可能 marimoカスタムイメージを選択 (※ イメージ名の直接入力も可能)
Slide 15
Slide 15 text
想定されるユーザーの声❷ 「アクセスから認証までが面倒」 14
Slide 16
Slide 16 text
15 Customization #2: ExternalDNS & cert-manager Before After DNSレコード更新&証明書管理の自動化 名前解決・証明書信頼 (ユーザーセットアップが必要) ドメイン名でアクセスするだけ (ユーザーセットアップ不要)
Slide 17
Slide 17 text
16 Customization #2: GitHub Authentication Before After ユーザー名・パスワードでログイン GitHub認証(Organizationメンバー) 管理者の運用負荷軽減 & ユーザー体験向上
Slide 18
Slide 18 text
研究室内で 𝜶 版としてリリース 🎉 機能追加&ドキュメント整備でユーザー体験の向上を目指す 17
Slide 19
Slide 19 text
18 Tech Blog 次世代notebook『marimo』入門(#13) https://alvinvin.hatenablog.jp/entry/13 研究室サーバーでKubernetesクラスタ構築(#14) https://alvinvin.hatenablog.jp/entry/14 KubeflowによるNaaS構築入門(#16) https://alvinvin.hatenablog.jp/entry/16
Slide 20
Slide 20 text
Let’s enjoy NaaS together!! 19 本発表はCNDS2025学生支援を受けさせていただきました。 さくらインターネット株式会社様のご支援に心より感謝いたします。