研究室サーバーとKubeflowで実践するNotebook as a Service
by
Azuma
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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学生支援を受けさせていただきました。 さくらインターネット株式会社様のご支援に心より感謝いたします。