You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ML评分脚本部署至Azure Arc K8s集群失败求助

解决思路

1. 排查部署操作的状态与日志

  • 捕获ml_client.begin_create_or_update(deployment).result()的完整返回信息,提取错误码、状态详情等内容
  • 用Azure CLI命令查询部署状态:az ml online-deployment show --name mnist-deployment-v1 --endpoint-name mnist-test-endpoint --resource-group <你的资源组名> --workspace-name <你的工作区名>
  • 登录Azure门户,进入对应机器学习工作区→在线端点→目标部署→日志页面,检查是否存在镜像拉取失败、脚本格式错误、权限不足等具体报错

2. 验证Azure Arc与K8s集群的连接有效性

  • 在本地K8s集群执行kubectl get pods -n azure-arc,确认所有Arc代理pod处于Running状态
  • 检查ML工作区与Arc集群的关联状态:在Azure门户的机器学习工作区→计算→附加计算→onpremk8scompute,确认状态为"就绪"
  • 确认资源查找的命名空间:Azure ML部署默认使用azureml-<工作区名称>命名空间,而非自定义命名空间,执行kubectl get all -n azureml-<你的工作区名>排查资源

3. 检查部署配置的正确性

  • 验证环境配置:确认08_conda_env.yml路径正确,文件内依赖无冲突;若本地集群无外网,需确保基础镜像mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04已同步到本地镜像仓库
  • 检查代码配置:确认./inference_script路径正确,score.py存在且符合Azure ML规范(包含init()初始化函数和run()推理函数)
  • 核对资源请求:执行kubectl describe node查看本地K8s节点剩余资源,确认能满足cpu="100m"、memory="0.5Gi"的资源请求

4. 验证权限与网络配置

  • 检查Azure ML服务主体权限:确保工作区使用的服务主体拥有Arc集群的Microsoft.Kubernetes/connectedClusters/user权限
  • 排查K8s网络策略:确认集群未限制Azure ML控制平面的访问,且允许拉取Azure容器注册表(ACR)中的模型/环境镜像
  • 确认集群出站网络:若为离线环境,需配置私有链接或离线镜像同步方案;若有外网,检查是否能访问Azure ML管理API、ACR等必要端点

内容的提问来源于stack exchange,提问作者JakeUT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:52:50