解开Kubeflow管道的神秘面纱第一部分:Kubernetes上的数据科学工作流程
by liam zheng on 3 September 2020
Kubeflow管道(Pipeline)是构建可移植、可扩展的机器学习工作流程最好的方式,也是更大的Kubeflow生态的一部分,旨在减少大规模训练和部署机器学习模型的复杂性和时间。
在这个系列的博客文章中,我们将介绍Kubeflow pipelines和展示了这种方法来产生可重用和可再现的数据科学。 🚀
我们将探讨为什么Kubeflow为数据科学工作流程带来了正确的标准化,然后说明了如何通过Kubeflow管道实现这一目标。
在第二部分种,我们将开始上手实践。我们也会利用Fashion MNIST数据集和基础Tensorflow示例,采用逐步方法将示例模型转换为Kubeflow管道,以便你可以执行此操作。
为什么要用Kubeflow
机器学习工作流程可能涉及许多步骤,并且如要保存所有这些步骤到笔记本或脚本中将会变得难以维护,共享和协作,这导致大量“机器学习系统中隐藏的技术债务”。
另外,这些步骤通常在不同的系统上运行。在实验的初始阶段,数据科学家将在工作站或本地训练平台上工作,大规模训练通常会在云环境(私有,混合或公有云)中进行,而推理和分布式训练则经常发生在边缘端。

容器提供了正确的封装,避免了每次开发者改变执行环境时调试的需求,且Kubernetes将容器的调度和编排带到了基础设施中。
然而,管理Kubernetes顶端的机器学习工作流程仍然是一项专门的运营工作,这也是我们不想给数据科学家添加的工作。Kubeflow弥补了在AI工作负载和Kubernetes间的间隔,使得机器学习运营更好管理。
什么是Kubeflow管道?
Kubeflow管道是Kubeflow最重要的功能之一,有望使您的AI实验具有可重复性,可组合性。例如,可互换的组件,可扩展,并且易于共享。
管道是机器学习工作流程的统一表示形式,类似于第一幅图中描述的步骤序列,其中包括工作流程的组件及其各自的依存关系。具体地说,管道是有向无环图(DAG),每个节点上都有一个容器化过程,该过程在Argo之上运行。

每个管道组件,呈现为一个区块,是一个独立的代码,通常打包为Docker镜像。它包含输入(参数),输出和管道中执行的一步。在上面管道示例中,transform_data步骤需要作为extract_data和generate_schema步骤的输出产生的参数,并且其输出是train_model的依赖项。
你的机器学习代码是被包入组件中的,你可以对组件进行:
- 指定参数——在每次运行时在仪表中可进行编辑,配置。
- 挂载持久卷——如我们的笔记本无故终止,不能添加持久卷的话,我们会丢失全部的数据。
- 指定要生成的工程文件——如方便地存储在Kubeflow仪表板内的Artifact Store中的图形,表格,选择的图片,模型。
最后,当你运行管道,根据Kubernetes调度,现在将在整个集群中执行每个容器,同时考虑到相关性。

容器化的编排使得其可简单复用,分享或随着工作流程的变化而更换组件,这种情况很常见。
在运行管道后,你能在管道接口上研究结果,调试,调整参数和通过不同参数或数据源执行的管道来进行实验。

通过这样的实验,你保存和比较运行结果,保持最佳性能的模型和工作流程的版本控制。
扩展阅读
要持续学习和实验Kubeflow和Kubeflow管道,你可以:
- 观看我们举办的研讨会
- 尝试运行Github上的Kubeflow示例
- 阅读文章Kubernetes for data science: meet Kubeflow
- 访问ubuntu.com/kubeflow
如何体验Kubeflow?
要在Windows、macOS或者Ubuntu上部署Kubeflow,可参考:
This blog series is part of the joint collaboration between Canonical and Manceps.
Visit our AI consulting and delivery services page to know more.
订阅博客文章
查看更多内容
Ubuntu Pro 部署 Nutanix 裸机 Kubernetes
Nutanix 与 Canonical 扩大合作,为容器化工作负载提供更多选择 企业级 Kubernetes® 正逐步发展为高度灵活的多架构模型。随着 AI/ML 及数据密集型工作负载对硬件吞吐量的要求不断提升,企业在追求裸机性能的同时,也希望兼顾云平台的运维一致性。 为满足这一需求,Nutanix 与 Canonical 已将 Ubuntu Pro 服务拓展至裸机环境下运行的 Nutanix Kubernetes 平台 (NKP) 实例,涵盖最新发布的 NKP Metal 解决方案。本次功能拓展基于双方 2025 年达成的合作,彼时搭载安全补丁的 Ubuntu 操作系统可支持虚拟机环境下运行的 NKP 实例。安全补丁服务隶属于 Ubuntu Pro,是 Canonica […]
Canonical 发布 Ubuntu Core 26
Ubuntu Core 26 推出精准化 Linux 构建、优化的 OTA 更新、实时内核补丁,以及面向关键任务部署的增强型硬件级安全防护。 2026 年 5 月 19 日,Canonical 宣布正式发布 Ubuntu Core 26。该系统为极简不可变操作系统,提供长达 15 年的安全维护支持。 Ubuntu Core 26 针对关键任务操作与低延迟 AI 工作负载实现重大系统改进:安装时长缩短、OTA 更新包体积缩减 90%,并借助 Chisel 工具实现精准化系统构建。与以往版本一致,所有组件均为经过沙箱隔离、加密签名的 Snap 软件包,构建可信启动链,仅允许运行经验证的软件。凭借这款全新长期支持(LTS)版本,Ubuntu Core 仍是适用于关键任务系统的 […]
Ubuntu 26.04 LTS 在安全方面的新增功能
Ubuntu 26.04 LTS 是我们安全设计最为完善的 LTS 版本之一。Ubuntu 26.04 LTS 并非单纯新增功能,而是通过同步提升系统各层级的安全基准,实现全方位安全强化,且全程无需中断部署或人工干预。通过“默认设置”聚焦安全核心,我们得以采用全新方式强化 Ubuntu 的安全性。本文将带您一览 Ubuntu 26.04 LTS 在安全方面的新增功能,包括: Ubuntu 26.04 LTS 为未来十年桌面端、服务器、机密虚拟机、云镜像及边缘系统的 Linux 部署,显著提升了默认安全基线。对于将 Ubuntu 作为安全基础进行标准化部署的企业而言,该版本是其业务构建的理想选择。 安全性不再仅限于安装阶段:安全中心升级为控制平面 以往,关键的安全决策(例 […]