实现功能:
- 使用kubernetes/client-go进行kubernetes集群资源控制
- 使用websocket作为与前端的交互
- 支持多任务和多用户的同时训练和页面刷新后,实时训练日志的正确重定向展示(支持动态刷新ws)
部署:
设置代理,否则google官方源被墙掉了
export GOPROXY=https://goproxy.io
进入GOPATH
src dir下
git clone https://github.com/ReyRen/k8sMLer-client-go.git
然后执行编译或编译加运行
make (build)
或者
make run
使用注意:
这里创建的storageclass是"web-nfs"的名字,请参考StorageClass-creation提前创建 并且更改代码中相应的命名
因为涉及到传参到集群pod中进行分布式训练,所以会有两个脚本在scripts/
目录中, 如不需要请屏蔽
请体检创建好名字为web的namespace, 或者更改common.go中相应的宏
更改common.go中关于server IP的宏
因项目需要使用到了intel的multus-cni作为pod中多虚拟网卡的CNI,如果使用请参考官方指南,否则请代码中屏蔽
采用了harbor 2.1.3作为私有的镜像仓库