前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubeflow Pipeline 部署记录

Kubeflow Pipeline 部署记录

作者头像
runzhliu
发布2020-08-06 10:03:51
1.2K0
发布2020-08-06 10:03:51
举报
文章被收录于专栏:容器计算容器计算

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
image_1dhto8p9v1fem164srq112o33c9.png-47.2kB

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

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

image_1dhtome6814qtfdg1iha1cbh18kq13.png-68.2kB
image_1dhtome6814qtfdg1iha1cbh18kq13.png-68.2kB

另外注意一下 kubectl 的版本。

image_1dhtosrk9sp413r31jhm1j8j1jqi1g.png-29.4kB
image_1dhtosrk9sp413r31jhm1j8j1jqi1g.png-29.4kB
代码语言:javascript
复制
# 克隆项目
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_1dhtojotb1k6011ucmolj6g1ujem.png-202.7kB
image_1dhtp1ubc1ak41ds1jin19eu3nh1t.png-211.5kB
image_1dhtp1ubc1ak41ds1jin19eu3nh1t.png-211.5kB

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

image_1dhtp903g1i5g1g211nshccvk222a.png-197.7kB
image_1dhtp903g1i5g1g211nshccvk222a.png-197.7kB

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

image_1dhtpdlsk6v41bhe1eet1gae1n8j2q.png-127.4kB
image_1dhtpdlsk6v41bhe1eet1gae1n8j2q.png-127.4kB

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

image_1dhtph92rqgm1ddh159t1i1qka37.png-106.4kB
image_1dhtph92rqgm1ddh159t1i1qka37.png-106.4kB
image_1dhtpifad1d4t1u83ib7fpi1ptd3k.png-70.8kB
image_1dhtpifad1d4t1u83ib7fpi1ptd3k.png-70.8kB
image_1dhtpkihh1mdrekh31l1j727n441.png-78.5kB
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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Overview
  • 2 Deploy
  • 3 Summary
  • Reference
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档