当前位置:主页 > 查看内容

Kubeflow部署_云容器引擎 CCE_最佳实践_批量计算_kubeflow华为云

发布时间:2021-09-23 00:00| 位朋友查看

简介:本实践作为kubeflow在华为云CCE上部署、使用的流程说明,介绍了kubeflow的详细部署过程,使用kubeflow构建简单的tensorflow训练任务,并对比了GPU单卡/多卡场景下不同的训练性能。 本实践部署过程参考 https://bbs.huaweicloud.com/blogs/413d1821c1a211e89f……

本实践作为kubeflow在华为云CCE上部署、使用的流程说明,介绍了kubeflow的详细部署过程,使用kubeflow构建简单的tensorflow训练任务,并对比了GPU单卡/多卡场景下不同的训练性能。

本实践部署过程参考https://bbs.huaweicloud.com/blogs/413d1821c1a211e89fc57ca23e93a89f以及官方文档https://www.kubeflow.org/docs/started/getting-started/

预置条件

  • 已在CCE创建一个集群clusterA,集群下有一个可用GPU节点,节点上的GPU卡数量大于等于2。
  • 节点上绑定了EIP,并配置了kubectl命令行工具。

安装ksonnet

可在https://github.com/ksonnet/ksonnet/releases/中查看最新版本,当前最新版本v0.13.1,安装过程如下:

export KS_VER=0.13.1 
export KS_PKG=ks_${KS_VER}_linux_amd64 
wget -O /tmp/${KS_PKG}.tar.gz 
https://github.com/ksonnet/ksonnet/releases/download/v${KS_VER}/${KS_PKG}.tar.gz 
mkdir -p ${HOME}/bin 
tar -xvf /tmp/$KS_PKG.tar.gz -C ${HOME}/bin 
cp ${HOME}/bin/$KS_PKG/ks /usr/local/bin

下载kfctl.sh

执行如下命令:

mkdir ${KUBEFLOW_SRC} 
cd ${KUBEFLOW_SRC}
export KUBEFLOW_TAG=v0.4.1 

curl 
https://raw.githubusercontent.com/kubeflow/kubeflow/${KUBEFLOW_TAG}/scripts/download.sh | bash
  • KUBEFLOW_SRC是kubeflow文件夹的下载目录。
  • KUBEFLOW_TAG是指kubeflow的版本,当前最新的是v0.4.1。

配置Docker代理

由于本次测试在华为云华东区,因国内网络原因,部分镜像无法拉取下来,这里采用给容器所在的节点上的docker配置proxy的方式来下载这些镜像。

mkdir -p /etc/systemd/system/docker.service.d 
vi /etc/systemd/system/docker.service.d/http-proxy.conf 
[Service] 
Environment="HTTP_PROXY=http://proxy.example.com:80/" 
"HTTPS_PROXY=http://proxy.example.com:80/"

这里的地址{proxy.example.com:80}需要改为实际可用的代理地址,退出vi后执行如下命令使代理生效:

systemctl daemon-reload 
systemctl restart docker

执行如下命令确认docker代理生效:

systemctl show --property=Environment docker

部署kubeflow

执行如下命令:

${KUBEFLOW_SRC}/scripts/kfctl.sh init ${KFAPP} --platform none 
cd ${KFAPP} 
${KUBEFLOW_SRC}/scripts/kfctl.sh generate k8s 
${KUBEFLOW_SRC}/scripts/kfctl.sh apply k8s
  • KFAPP是指kubeflow的deployment对应的名字。

执行完毕后可以通过kubectl get po -n kubeflow查看相关资源是否正常启动。由于存储还未配置,所以存在部分Pod仍未running,下面将详细说明。

配置kubeflow所需存储

Kubeflow v0.4.1的运行依赖于如下存储的创建:

  • katib-mysql
  • mysql-pv-claim
  • minio-pv-claim

因此需要在CCE的存储管理页面选择指定集群clusterA,创建如下三个存储,创建时需选择命名空间kubeflow。

创建完毕后,修改如下三个deployment的volume-name字段。

kubectl edit deploy minio –nkubeflow 
:%s/minio-pv-claim/cce-sfs-kubeflow-minio/g 
:wq!
kubectl edit deploy mysql –nkubeflow 
:%s/mysql-pv-claim/cce-sfs-kubeflow-mysql/g 
:wq!
kubectl edit deploy vizier-db –nkubeflow 
:%s/katib-mysql/cce-sfs-kubeflow-katib/g 
:wq

等待一段时间后,可以看到所有的Pod均为running的状态。


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:负载均衡 创建CLB专有日志集 - API 文档 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐