polyaxon/polyaxon-api该镜像是专为在Kubernetes(K8s)环境中运行机器学习(ML)和深度学习(DL)任务设计的平台,核心目标是解决ML/DL工作流中的可复现性与扩展性挑战。通过整合容器化技术与K8s编排能力,提供从模型开发、训练到部署的全流程支持,确保任务在不同环境中保持一致性,同时支持基于集群资源的弹性扩展。
通过以下命令在Kubernetes节点上快速启动平台实例(需提前配置K8s集群访问权限):
bashdocker run -d \ --name ml-platform \ --network host \ -v /path/to/local/data:/data \ -v $HOME/.kube/config:/root/.kube/config \ # 挂载K8s配置文件,实现集群访问 -e PLATFORM_MODE=train \ # 运行模式:train(训练)/infer(推理) -e GPU_ENABLED=true \ # 是否启用GPU支持 [镜像名称]:[标签]
| 环境变量 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
PLATFORM_MODE | 平台运行模式 | train | train/infer |
GPU_ENABLED | 是否启用GPU支持 | false | true/false |
K8S_NAMESPACE | 指定K8s命名空间 | default | 自定义命名空间名称 |
LOG_LEVEL | 日志级别 | info | debug/info/warn |
DATA_MOUNT_PATH | 数据卷挂载路径 | /data | 自定义路径 |
如需在本地模拟K8s环境进行测试,可使用Docker Compose编排平台与依赖组件(如MinIO存储、MLflow实验追踪):
yamlversion: '3' services: ml-platform: image: [镜像名称]:[标签] container_name: ml-platform volumes: - /path/to/local/data:/data - $HOME/.kube/config:/root/.kube/config environment: - PLATFORM_MODE=train - GPU_ENABLED=false - K8S_NAMESPACE=ml-test ports: - "8080:8080" # 平台Web UI端口 depends_on: - minio - mlflow minio: # 用于存储数据集与模型 image: minio/minio:latest command: server /data --console-address ":9001" volumes: - minio-data:/data ports: - "9000:9000" - "9001:9001" mlflow: # 用于实验追踪 image: mlflow/mlflow:latest command: server --host 0.0.0.0 --port 5000 volumes: - mlflow-data:/mlflow ports: - "5000:5000" volumes: minio-data: mlflow-data:
在生产环境中,建议通过Kubernetes Deployment资源部署,示例配置如下:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: ml-platform namespace: ml-projects spec: replicas: 3 # 根据任务规模调整副本数 selector: matchLabels: app: ml-platform template: metadata: labels: app: ml-platform spec: containers: - name: ml-platform image: [镜像名称]:[标签] resources: limits: nvidia.com/gpu: 1 # 如需GPU,指定GPU数量 cpu: "4" memory: "16Gi" requests: cpu: "2" memory: "8Gi" volumeMounts: - name: kube-config mountPath: /root/.kube/config subPath: config - name: data-volume mountPath: /data env: - name: PLATFORM_MODE value: "train" - name: K8S_NAMESPACE value: "ml-projects" volumes: - name: kube-config secret: secretName: kubeconfig-secret # 提前创建包含K8s配置的Secret - name: data-volume persistentVolumeClaim: claimName: ml-data-pvc # 绑定数据存储PVC
部署完成后,通过以下方式验证平台状态:
http://[节点IP]:8080,查看平台控制台manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务