升级 Kubeflow Operators
本页面描述在升级 Kubeflow operators 之后可能需要执行的手动操作。
有关安装步骤,请参阅 安装 Kubeflow Operators。
目录
从v1.x(Cluster Plugin)迁移到 v26.3.0(OLM Operator)推荐的迁移操作步骤v1.x 与 v26.3.0 之间的变化kfbase 的升级说明(v1.x 历史版本)从 v1.10.13 或更早版本升级从 v1.10.9 或更早版本升级从 v1.x(Cluster Plugin)迁移到 v26.3.0(OLM Operator)
从 v26.3.0(Alauda AI v2.3)开始,Kubeflow 组件以 OLM Helm Operators(kfbase-operator、kfp-operator、kubeflow-trainer-operator)的形式发布,而不再使用 Cluster Plugins(kfbase、kfp、kftraining、kubeflow-trainer)。这两种形态之间不支持就地升级路径——Cluster Plugin 安装描述符(ModuleInfo)与 OLM Subscription 彼此不兼容。
推荐的迁移操作步骤
-
备份用户数据:
- 在每个用户命名空间中快照 Notebook PVC。
- 导出
ProfileCR,以及你为 Kubeflow 用户创建的任何自定义RoleBinding/AuthorizationPolicy。 - 通过
kfpCLI 导出你的 KFP pipelines、experiments 和 scheduled runs。 - 导出任何
TrainingRuntime和处于活动状态的TrainJobCR。
-
从 AC UI(
Cluster Plugins)中卸载 v1.x Cluster Plugin 安装:按顺序移除kubeflow-trainer、kfp、kftraining(如果存在)以及kfbase。匹配的ModuleInfo/ModuleConfig资源会自动移除。警告: 在确认步骤 1 中的备份完成之前,请勿继续。如果卸载会移除
kubeflow.orgCRD,则所有ProfileCR(以及它们所属的用户命名空间 / Notebook PVC)都可能被级联删除。在依赖下面的恢复步骤之前,请先验证你的用户命名空间和 PVC 在卸载后是否仍然保留。 -
从 管理员 > MarketPlace > OperatorHub 安装 v26.3.0 operator 集合:
- 先安装
kfbase-operator(其他 operator 依赖基础组件)。 - 如果你需要 Kubeflow Pipelines,则安装
kfp-operator(仅限 amd64 集群)。 - 如果你需要 Trainer v2,则安装
kubeflow-trainer-operator。
- 先安装
-
创建对应的 CR 实例(
KubeflowBase、KubeflowPipelines、KubeflowTrainer),并复用你在 v1.x 安装中的配置。之前在 Cluster Plugin 安装表单中设置的 chart values 现在通过 operator 的 CSVspecDescriptors暴露出来——大多数字段名称保持不变。 -
恢复用户数据: 如果
ProfileCR 及其 PVC 在卸载过程中被保留,它们会通过 Notebook controller reconcile 自动重新关联。如果它们已被移除,请先重新应用你在步骤 1 中导出的ProfileCR,并从快照中恢复 PVC。无论哪种情况,都要重新导入 KFP pipelines 和 TrainingRuntimes。
v1.x 与 v26.3.0 之间的变化
- 形态: Cluster Plugin → OLM Helm Operator。
- 安装描述符:
ModuleInfo→ OLMSubscription+ClusterServiceVersion+ operator 自有 CR。 - Trainer: 移除了
kftraining(Training Operator v1,已弃用);替换为kubeflow-trainer-operator(Trainer v2)。 - 上游对齐: 所有 chart 重新固定到
kubeflow/manifests26.03。 - 架构:
kfp-operator现在仅支持 amd64;kfbase-operator和kubeflow-trainer-operator仍支持 amd64 + arm64。
kfbase 的升级说明(v1.x 历史版本)
从 v1.10.13 或更早版本升级
直到 v1.10.13 的版本都通过 NodePort 暴露 Kubeflow dashboard。升级后,推荐改为通过 gateway endpoint 访问。
升级后:
- 检查
kfbaseplugin 配置中的kubeflowDomain字段,以获取<your-kubeflow-domain>。 - 运行
kubectl -n istio-system get gateway kubeflow-external-gateway以获取 gateway IP 地址。 - 更新 DNS 解析,或者更新本地 hosts 文件,使
<your-kubeflow-domain>解析到该 gateway IP 地址。
如果你仍然需要使用 NodePort,请手动将 istio-system/kubeflow-istio-ingressgateway
service 修改为 NodePort 类型,然后运行以下命令获取分配给 443 的端口:
随后,你可以通过以下地址访问 dashboard:
从 v1.10.9 或更早版本升级
在升级之前,请在集群中设置一个默认 storage class,它将用于 kfbase plugin 配置中的 pgStorageClass 参数。如果未设置默认 storage class,升级可能会因缺少必需参数而失败。这些参数是在 v1.10.10 中引入的。