CentOS 下基于kubernetes安装部署kubeflow

博客搬家至 Mun: https://kiddie92.github.io

同步更新

kubeflow 机器学习 容器云 分布式训练

小目标:基于前期搭建的kubernetes集群,部署kubeflow,由于涉及到google的docker镜像,只好设置国外代理了

下载安装包:

wget https://github.com/ksonnet/ksonnet/releases/download/v0.13.1/ks_0.13.1_linux_amd64.tar.gz
wget https://github.com/kubeflow/kubeflow/archive/v0.4.0-rc.3.tar.gz  #2019.1.4 最新版本v0.4.0-rc.3

将下载好的安装包解压并归档

tar -vxf ks_0.13.1_linux_amd64.tar.gz
tar -vxf v0.4.0-rc.3.tar.gz
mkdir kubeflow-ks
cp -r kubeflow-0.4.0-rc.3 kubeflow-ks
cp -r ks_0.13.1_linux_amd64 kubeflow-ks

安装ksonnet

ks是一个可执行文件,直接拷贝到系统可执行目录下就OK了

cd kubeflow-ks/ks_0.13.1_linux_amd64
cp ks /usr/bin  

安装部署kubeflow

首先定义一些临时的环境变量,安装的时候会方便很多,因为安装脚本也是需要用到这些变量的

export KUBEFLOW_SRC=/your/path/to/kubeflow-0.4.0-rc.3
export KFAPP=kubeflowconfig  #随意命名

注意:KFAPP必须是将要存放配置文件的目录名称,不可以是目录的路径,否则会报以下错误: should be the name for the deployment; not a path

安装部署只需要三个命令

${KUBEFLOW_SRC}/scripts/kfctl.sh init ${KFAPP} --platform none  # none 也可以是minikube等
${KUBEFLOW_SRC}/scripts/kfctl.sh generate k8s
${KUBEFLOW_SRC}/scripts/kfctl.sh apply k8s

查看是否运行好了:

kubectl get pod -n kubeflow  #理论上gcr.io的镜像pull不下来
# 查看ImagePullBackOff等问题
kubectl describe pod scheduledworkflow -n kubeflow 
#提示: Failed to pull image "gcr.io/ml-pipeline/scheduledworkflow:0.1.6"

所以这里需要代理了.. 设置国外代理的方法比较多,我这里使用的是VPS的方式。

想要删除 or 重新部署?

直接删除kubeflow这个namespace和之前放置配置文件的文件夹就OK了

kubectl delete ns kubeflow
kubectl delete crd tfjobs.kubeflow.org  # crd 不删除也行
rm -rf ${KFAPP}

参考资料

  1. 官方文档
  2. katacoda

你可能感兴趣的:(CentOS 下基于kubernetes安装部署kubeflow)