我的机器学习之路(1)-kubeflow

今天看了一些资料,打算以 kubeflow 作为起点实践.

Kubeflow Pipeline — 基于Kubernetes 的机器学习工作流-阿里云开发者社区yq.aliyun.com图标新Kubeflow,新征程 (一):简化部署体验-阿里云开发者社区yq.aliyun.com图标kubeflow-discussgroups.google.com
Kubeflow Pipeline — 基于Kubernetes 的机器学习工作流-阿里云开发者社区yq.aliyun.com图标新Kubeflow,新征程 (一):简化部署体验-阿里云开发者社区yq.aliyun.com图标kubeflow-discussgroups.google.com
基于Kubeflow的机器学习调度平台落地实战-InfoQwww.infoq.cn图标高策:Kubeflow 安利:在 Kubernetes 上进行机器学习zhuanlan.zhihu.com图标

安装

我是在既有 kubernetes 集群上面安装的,参考的是

Kubeflow Deployment with kfctl_k8s_istiowww.kubeflow.org

首先在

Releases · kubeflow/kubeflowgithub.com图标

这里下载了附件,解压得到一个 kfctl 的二进制文件.

下载 github.com/kubeflow/man 这个文件花了很长时间,我一度想用香港的机器去搞(很感谢祖国给我的压力)

执行 kfctl generate all -V 之后发现,镜像有62个.我表示很无语.

但是天无绝人之路,我发现阿里云镜像仓库有个海外机器构建,我决定写个程序,自动生成 Dockerfile ,然后借阿里云的资源连接 GitHub ,构建镜像.

镜像替换

当有任务来临时,先把它分解成独立但前后关联的子任务.

  1. 首先要找到 kfctl generate 产生的文件
  2. 根据 image: xxx 生成目录, Dockerfile 文件
    1. 所以这个程序有2个参数:1.旧yaml文件目录;2.输出目录


  1. 程序生成的 Dockerfile 文件汇总到 GitHub ,通过阿里云的海外镜像构建服务来做这件事情
  2. 等待构建完成
  3. 使用正则替换 kfctl generate 中的镜像版本
    1. 替换规则为 (image:\s)(gcr.io)/[a-z-]+?/ ,替换成 image: registry-vpc.cn-shenzhen.aliyuncs.com

这期间有个插曲,go升级到 1.12.7, 于是 VS code 下面的插件得重新安装

gocode
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  dlv
  gocode-gomod
  gogetdoc
  golint
  gopls


参考链接

基于Kubeflow的机器学习调度平台落地实战-InfoQwww.infoq.cn图标高策:Kubeflow 安利:在 Kubernetes 上进行机器学习zhuanlan.zhihu.com图标
编辑于 08-05