4. Kubeflow Dashboard:第一次登录与界面导航

说实话,我第一次登录 Kubeflow Dashboard 的时候,有点懵。

那时候我刚从 Jupyter 环境迁移过来,习惯了 Notebook 那种「打开即用」的清爽界面。突然面对一个布满各种卡片、菜单和状态指示器的仪表盘,第一反应是——这玩意儿到底该点哪里?

后来我意识到,Dashboard 不是给你「写代码」的地方,而是给你「看全局」的地方。你想想看,一个机器学习平台,如果连个统一的入口都没有,那跟散落一地的脚本有什么区别?

4.1 登录流程:别被证书吓到

Kubeflow 默认使用 Dex 作为身份认证代理。我第一次部署完,打开浏览器输入 IP,跳出来一个陌生的登录页面,心里咯噔一下——密码是多少?

默认情况下,Kubeflow 使用静态用户配置。你可以在部署时指定用户名和密码,或者用下面这种方式快速获取:

# 获取默认用户密码(如果你用的是官方部署方式)
kubectl get secret kubeflow-login -n kubeflow \
  -o jsonpath="{.data.password}" | base64 --decode

嗯,这里要注意:很多新手会卡在这一步,以为密码丢了。其实只要集群还在,密码就能捞出来。

我的习惯:部署完成后,第一时间把密码存到密码管理器里。别问我为什么——我曾经在演示现场翻了三分钟命令行才找到密码,场面一度非常尴尬。

4.2 主界面:四个核心区域

登录成功后,你会看到 Kubeflow Dashboard 的主页。别急着点,先花 30 秒扫一眼整体布局。

我个人把 Dashboard 分成四个区域:

区域 位置 作用
顶部导航栏 最上方 快速切换命名空间、查看通知、用户设置
左侧菜单栏 左侧 核心功能入口:Notebooks、Pipelines、Experiments 等
中央内容区 中间 展示当前选中功能的详情
右侧快捷面板 右侧(部分版本) 快速创建资源、查看最近操作

说白了,这个布局跟大部分云平台的管理控制台很像。如果你用过 AWS 或阿里云的控制台,上手会非常快。

4.3 左侧菜单:你的操作中枢

左侧菜单栏是 Kubeflow 的核心。我刚开始用的时候,经常在 Notebooks 和 Pipelines 之间来回切换,后来发现其实每个菜单项都有明确的定位:

  • Home:回到仪表盘主页,看个概览
  • Notebooks:创建和管理 Jupyter Notebook 服务器
  • Pipelines:编排和运行机器学习流水线
  • Experiments (KFP):管理实验和运行记录
  • Experiments (AutoML):自动调参和模型搜索
  • Volumes:管理持久化存储卷
  • Models:模型注册和版本管理
  • Artifacts:查看流水线产出的中间数据
避坑指南:我曾经在「Experiments (KFP)」和「Experiments (AutoML)」之间搞混过。这两个名字太像了,但前者是 Kubeflow Pipelines 的实验管理,后者是 Katib 的自动机器学习实验。记住:KFP 管流程,Katib 管调参。

4.4 命名空间:多租户的基础

Kubeflow 的命名空间机制,说白了就是给不同团队划地盘。你在顶部导航栏可以看到当前所在的命名空间。

为什么要有命名空间?我举个例子:

假设你们团队有 3 个项目同时在跑。如果没有命名空间隔离,A 项目的 Notebook 和 B 项目的 Pipeline 可能会互相干扰——比如同名冲突、资源抢占。有了命名空间,每个项目各玩各的,互不打扰。

# 查看当前集群中有哪些命名空间
kubectl get namespaces

# 在 Kubeflow 中,每个命名空间对应一个「Profile」
# 你可以通过 Dashboard 的「Manage Contributors」来管理权限

嗯,这里有个小技巧:我习惯给每个项目创建一个独立的命名空间,命名规则是 项目名-环境,比如 recommend-devrecommend-prod。这样一眼就能看出来是哪个项目、什么环境。

4.5 核心功能速览:Notebooks 和 Pipelines

在 Dashboard 里,有两个功能你一定会频繁使用:Notebooks 和 Pipelines。

Notebooks 页面

  • 点击「New Notebook」可以创建一个新的 Jupyter 环境
  • 你可以选择镜像(比如 TensorFlow、PyTorch 预装版)
  • 可以指定 CPU、内存、GPU 资源
  • 创建后直接点击「Connect」就能打开 Notebook

Pipelines 页面

  • 展示所有已上传的流水线定义
  • 可以手动触发一次运行
  • 查看运行状态和日志
  • 对比不同实验的运行结果
我的建议:刚开始别急着创建复杂的 Pipeline。先在 Notebooks 里把代码调通,确认逻辑没问题了,再封装成 Pipeline 组件。我在项目里见过太多人一上来就搭流水线,结果调试一次要等十分钟,效率极低。

4.6 本章知识体系

下面这张图帮你梳理了 Kubeflow Dashboard 的核心结构:

Kubeflow Dashboard 核心结构 顶部导航栏:命名空间切换 · 通知 · 用户设置 左侧菜单栏 Home Notebooks Pipelines Experiments Volumes Models Artifacts 中央内容区 展示当前选中功能的详情 例如:Notebook 列表、Pipeline 运行状态 实验对比、存储卷管理 命名空间隔离多租户 · 左侧菜单是操作中枢 · 中央区域展示详情

4.7 第一次登录后的检查清单

登录成功后,我建议你按这个顺序走一遍,确认环境没问题:

  1. 检查顶部导航栏的命名空间是否正确
  2. 点击左侧「Notebooks」,确认能正常创建 Notebook 服务器
  3. 点击「Pipelines」,看看有没有示例流水线可以导入
  4. 点击「Volumes」,确认持久化存储是否挂载正常
  5. 随便点开一个页面,看看页面加载速度——如果太慢,可能是资源分配不足
注意:如果你发现某些页面加载不出来,或者按钮点了没反应,大概率是 Pod 还没就绪。Kubeflow 的组件比较多,第一次启动可能需要 3-5 分钟才能全部跑起来。别急,喝杯咖啡再回来。

好了,以上就是 Kubeflow Dashboard 的第一次登录与界面导航。说白了,它就是一个「指挥中心」——你不需要在这里写代码,但你需要知道每个按钮是干什么的。熟悉了这些,后面的章节我们才能真正开始动手干活。


公众号:蓝海资料掘金营,微信deep3321