领事ACL和Nomad

时间:2018-10-07 07:43:05

标签: acl consul nomad

我遇到以下问题,我不确定我做的事情不正确还是无法正常工作。

  1. 我有一个启用了ACL的领事群集。
  2. ACL默认策略设置为DENY(“ acl_default_policy”:“ deny”,)
  3. 目前,我始终使用主管理CONSUL令牌进行通信。
  4. 我还为VAULT和NOMAD配置了管理令牌,并且“ vault.service.consul”和“ nomad.service.consul”正在领事中注册
  5. 我特别配置了带有consul管理令牌的consul节的NOMAD,以便能够与consul通信并注册自己。

consul { address = "127.0.0.1:8500" token = "management token" }

我使用NOMAD调度Docker容器。这些docker容器需要从CONSUL KV存储中填充配置文件,而我使它与consul模板一起使用(当未启用ACL时)。

现在我的问题是,当我在CONSUL中启用ACL时-由于ACL,docker容器无法从CONSUL KV存储中获取值,并显示403错误(权限被拒绝)。我以为,因为我已经在NOMAD中配置了领事节,例如:

consul {
  address = "127.0.0.1:8500"
  token   = "management token"
}

NOMAD安排的所有作业都将能够使用该管理令牌,而Docker容器将能够与CONSUL KV通信?!

如果我将管理令牌作为Docker环境变量放置在NOMAD作业描述中-它将起作用:

env {
      "CONSUL_HTTP_TOKEN" = "management token"
    }

但是,我不想将该管理令牌放在作业描述中,因为它们将在git中进行检查。

我做错什么了吗,或者那样根本行不通?

先谢谢您。

0 个答案:

没有答案