KubeDL(Kubernetes Deep Learning)是一个基于Kubernetes的深度学习训练平台。它旨在简化在Kubernetes集群上运行和管理深度学习训练任务的过程。KubeDL提供了一系列的工具和抽象,使得用户可以更容易地扩展他们的训练作业,利用Kubernetes的资源管理和自动化能力。
服务部署
git clone https://github.com/kubedl-io/kubedl.git
cd kubedl
helm install kubedl ./helm/kubedl --create-namespace -n kubedl-system
# helm install kubedl ./helm/kubedl --create-namespace -n kubedl-system --set resources.requests.cpu=1024m --set resources.requests.memory=2Gi
参考文档:https://kubedl.io/docs/installation/install-using-helm
快速入门
提交TensorFlow任务:
kubectl apply -f https://raw.githubusercontent.com/kubedl-io/kubedl/master/example/tf/tf_job_mnist_distributed_simple.yaml
查看:
kubectl get tfjobs
查看详情:
kubectl describe tfjob tf-distributed-simple
删除:
kubectl delete tfjob tf-distributed-simple
dashboard 部署
kubectl apply -f console/dashboard.yaml
部署参考:https://kubedl.io/docs/training/dashboard
部署dashboard后发现权限异常导致的展示失败。 默认deployment使用serviceAccount: default
进行鉴权(kubernetes的默认策略),导致权限不足,可以同通过一下方式增加default
权限。
kubectl create clusterrolebinding kubedl-default --clusterrole=kubedl-role --serviceaccount=kubedl-system:default
或者直接修改serviceAccount: kubedl
,更换高权限用户。