
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
PaddlePaddle Cloud是一个面向云服务提供商和企业的分布式深度学习云平台。该平台以Kubernetes作为后端任务调度和集群资源管理中心,以PaddlePaddle作为深度学习框架,允许用户通过网页或命令行工具远程提交深度学习训练任务,充分利用大规模GPU集群的计算能力。
详细说明请参见https://github.com/PaddlePaddle/cloud/blob/develop/doc/run_on_minikube.md
构建Paddle Cloud Docker镜像
bash# 克隆代码仓库 git clone https://github.com/PaddlePaddle/cloud.git cd cloud/paddlecloud # 构建镜像 docker build -t [你的Docker仓库地址]/pcloud . # 推送到仓库,以便Kubernetes可以访问 docker push [你的Docker仓库地址]/pcloud
配置存储卷
使用Kubernetes的https://kubernetes.io/docs/concepts/storage/volumes/%E6%8C%82%E8%BD%BDMySQL%E6%95%B0%E6%8D%AE%E3%80%81%E8%AF%81%E4%B9%A6%E6%96%87%E4%BB%B6%E5%92%8C%E9%85%8D%E7%BD%AE%EF%BC%8C%60k8s/%60%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BD%BF%E7%94%A8https://kubernetes.io/docs/concepts/storage/volumes/#hostpath%E6%8C%82%E8%BD%BD%E7%8B%AC%E7%AB%8B%E6%96%87%E4%BB%B6%E5%92%8C%E9%85%8D%E7%BD%AE%E7%9A%84%E7%A4%BA%E4%BE%8B%E3%80%82
bashmkdir -p /home/pcloud/data/mysql mkdir -p /home/pcloud/data/certs
/home/pcloud/data/certs文件夹/home/pcloud/data/certs文件夹(若工作节点上没有,可在主节点找到)/home/pcloud/data/certs文件夹paddlecloud/settings.py文件到/home/pcloud/data文件夹配置cloud_deployment.yaml
spec.template.spec.containers[0].volumes中的hostPath以匹配你的数据文件夹spec.template.spec.nodeSelector.kubernetes.io/hostname的值,设置为数据文件夹所在的节点(可使用kubectl get nodes列出所有节点)配置settings.py
ALLOWED_HOSTSDATACENTERS以指定后端存储,目前支持CephFS和HostPath。若使用HostPath模式(可结合NFS等共享文件系统),需按以下方式修改:pythonDATACENTERS = { "<你的数据中心名称>":{ "fstype": "hostpath", "host_path": "/home/pcloud/data/public/", "mount_path": "/pfs/%s/home/%s/" # 挂载路径格式: mount_path % (数据中心名, 用户名) } }
配置网络访问
cloud_ingress.yaml,修改spec.rules[0].host为你的域名cloud_service.yaml使用https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport部署MySQL
若集群中没有MySQL,需先部署:
bash# 需先在yaml文件中填写nodeselector字段(节点的主机名或IP) kubectl create -f ./mysql_deployment.yaml kubectl create -f ./mysql_service.yaml
然后在settings.py中修改MySQL端点
部署Paddle Cloud
bash# 需先在yaml文件中填写nodeselector字段(节点的主机名或IP) kubectl create -f k8s/cloud_deployment.yaml kubectl create -f k8s/cloud_service.yaml kubectl create -f k8s/cloud_ingress.yaml # (可选,若不需要Jupyter notebook可省略)
访问平台
通过Kubernetes ingress IP地址或NodePort访问:
http://<ingress-ip-address>http://<任意节点IP地址>:<NodePort>准备公共数据集
可创建Kubernetes Job准备包含RecordIO文件的公共云数据集,需根据环境修改YAML文件中的<DATACENTER>(集群数据中心)和<MONITOR_ADDR>(Ceph监控地址):
bashkubectl create -f k8s/prepare_dataset.yaml
python>>> import ssl >>> ssl.OPENSSL_VERSION 'OpenSSL 1.0.2k 26 Jan 2017'
bashvirtualenv paddlecloudenv # 激活虚拟环境 source paddlecloudenv/bin/activate
首次运行
bashcd paddlecloud npm install pip install -r requirements.txt ./manage.py migrate ./manage.py loaddata sites npm run dev
访问 http://localhost:8000/
非首次运行
bash./manage.py runserver
若要使用mail命令发送确认邮件,修改以下设置:
pythonEMAIL_BACKEND = 'django_sendmail_backend.backends.EmailBackend'
使用mail命令时可能需要为Pod启用hostNetwork。
或使用Django SMTP绑定,详见Django邮件文档
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务