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

Nomad自动扩缩容作业调用API遭403权限拒绝问题求助

解决Nomad Autoscaler 403权限拒绝错误

问题描述

部署Nomad自动扩缩容作业后,日志出现如下错误:

[ERROR] policy_manager: encountered an error monitoring policy IDs: error="failed to call the Nomad list policies API: Unexpected response code: 403 (Permission denied)"

原因分析

  1. 用于Autoscaler的Nomad控制token缺少调用list policies API及其他扩缩容所需的集群操作权限
  2. 作业配置未将token正确传递给Autoscaler进程,导致进程无法用有效凭证访问Nomad API

解决方案

1. 配置符合要求的ACL策略

创建包含Autoscaler必要权限的ACL策略,示例如下:

policy "autoscaler-policy" {
  namespace "*" {
    policy = "read"
    capabilities = ["list-jobs", "read-jobs", "read-nodes", "write-nodes", "read-scaling-policies", "write-scaling-policies"]
  }
  agent {
    policy = "read"
  }
}

将该策略绑定到你的f418583e-4cd9-545a-b0b9-36e1cd10bf32 token上。

2. 正确传递token到Autoscaler

修改作业中Autoscaler的配置模板,在nomad块中添加token参数:

nomad {
  address = "http://{{env "attr.unique.network.ip-address" }}:4646"
  skip_verify = true
  token = "{{ meta "nomad-control-token" }}"
}

或者通过环境变量传递,在task "autoscaler"下添加env块:

env {
  NOMAD_TOKEN = "{{ meta "nomad-control-token" }}"
}

3. 验证配置

重新部署作业后,查看Autoscaler日志确认错误是否消除。若仍有问题,执行以下命令检查token绑定的策略:

nomad acl token info f418583e-4cd9-545a-b0b9-36e1cd10bf32

确保策略包含了所有必要的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 08:18:25