Kubeflow Pipeline 部署记录

1 Overview

Kubeflow 集成了机器学习的很多组件,比如训练、调参、模型部署,也包括了像 Tensorflow, Pytorch 等框架的支持。另外就是其还提供了 Pipeline 组件,用于用户定义机器学习的流程,从开始 -> 训练 -> 保存模型,等常见的机器学习任务流。

本文主要从单独部署和测试,两个方面,展示一下使用 Pipeline 的姿势。

2 Deploy

Pipeline 作为 Kubeflow 的组件之一,其实是可以单独部署的,方法可以参考 Github 上的文档。

https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize

image_1dhto8p9v1fem164srq112o33c9.png-47.2kB

明确一下部署的目标,本文只针对给一个 K8S 集群上部署 Pipeline,不在 GCP 也不在 AWS 这些云厂商上,并且是通过 port-forward 来访问 UI。

根据部署的目标,我们需要去掉 proxy 这个模块,也就是修改文件的红色方框的部分,从原文件删除。

image_1dhtome6814qtfdg1iha1cbh18kq13.png-68.2kB

另外注意一下 kubectl 的版本。

image_1dhtosrk9sp413r31jhm1j8j1jqi1g.png-29.4kB

# 克隆项目
git clone https://github.com/kubeflow/pipelines.git
# 注意目录不要错
cd pipelines/manifests/kustomize/namespaced-install
# 创建 kubeflow 命名空间
kubectl creat ns kubeflow
# 执行部署
kubectl kustomize . | kubectl apply -f -

这是部署的过程。建议详细看看部署了什么资源。

image_1dhtojotb1k6011ucmolj6g1ujem.png-202.7kB

image_1dhtp1ubc1ak41ds1jin19eu3nh1t.png-211.5kB

部署成功之后的 UI 还是相当简洁的。

image_1dhtp903g1i5g1g211nshccvk222a.png-197.7kB

举个例子,Conditional execution,也就是条件运行的一个 Pipeline。

image_1dhtpdlsk6v41bhe1eet1gae1n8j2q.png-127.4kB

整个 Pipeline 是一个有向无环图,不过他有一些条件,比如说满足 condition1 会走左分支。

image_1dhtph92rqgm1ddh159t1i1qka37.png-106.4kB

image_1dhtpifad1d4t1u83ib7fpi1ptd3k.png-70.8kB

image_1dhtpkihh1mdrekh31l1j727n441.png-78.5kB

3 Summary

Pipeline 是基于 Argo 来做的,本质是一个容器工作流,所以背后的 Run 实际上都是一些容器。

Pipeline 可以帮助用户构建机器学习的任务流,通过组成 DAG 来串联起数据处理的过程,不过在描绘 Pipeline 的时候,需要用到该项目提供的 Python SDK,这是需要一定的学习成本的,虽然官网也提供了一些教程,但是总体而言,还是有点麻烦,暂时还不确定是否可以在 DAG 中加入时间调度的因素,后面还会继续展开。

Reference

  1. https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值