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

在GKE Autopilot集群部署Azure Arc时诊断作业调度失败求助

GKE Autopilot+Azure Arc诊断Job失败的排查方向
  • 核对节点污点与Pod容忍度
    GKE Autopilot节点自带专属污点,比如node.kubernetes.io/unschedulable:NoSchedule这类。Azure Arc的诊断Pod如果没配置对应容忍度,根本无法被调度。

    • 执行kubectl describe node <节点名>查看节点的污点列表
    • 检查诊断Job的Pod模板,确认是否包含匹配的容忍度。若没有,可修改Helm部署参数添加容忍度,或手动给Job补充容忍度配置
  • 检查Pod资源请求是否超出Autopilot限制
    Autopilot对单Pod的CPU/内存请求管控严格,即便GCP全局配额充足,Pod请求若超出节点可用资源或Autopilot阈值,就会处于Pending状态。

    • 执行kubectl describe pod <Pending状态的Pod名>查看Requests字段的资源要求
    • 对照Autopilot节点的默认规格(通常为固定CPU/内存配置),调整Pod的资源请求至合理范围,修改Helm部署参数即可
  • 验证Arc服务账号的权限
    诊断Job需要访问集群节点、配额等信息,Autopilot对Pod权限限制严格,权限不足会导致Job执行失败。

    • 执行kubectl describe sa <Arc服务账号名> -n <Arc命名空间>查看绑定的权限,确认是否具备足够的API访问权限
  • 排查网络策略限制
    Autopilot默认可能启用网络策略,阻止诊断Pod与K8s API Server通信,进而导致Pod初始化失败。

    • 查看Arc命名空间下的网络策略:kubectl get networkpolicy -n <Arc命名空间>
    • 若存在拦截策略,添加一条允许诊断Pod访问API Server的规则
  • 手动测试简化版Pod
    自动部署的Job可能存在参数问题,可手动创建临时Pod测试:

    • 使用与诊断Job相同的镜像,配置相同的资源请求和容忍度,编写yaml文件创建Pod
    • 执行kubectl describe pod <临时Pod名>查看详细事件,获取更具体的调度失败原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:03:17