Консул ACL и Номад

У меня есть следующая проблема, и я не уверен, что я делаю что-то не так или он работает не так, как ожидалось.

  1. У меня есть консул кластера с включенным ACL.
  2. Для политики ACL по умолчанию установлено значение DENY ("acl_default_policy": "deny",)
  3. На данный момент я всегда использую основной управляющий токен CONSUL для связи.
  4. У меня также есть VAULT и NOMAD, настроенные с токеном управления, а "vault.service.consul" и "nomad.service.consul" регистрируются в консуле.
  5. Я специально настроил NOMAD с помощью консула консула с маркером управления консула, чтобы иметь возможность связаться с консулом и зарегистрироваться.

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

Я использую NOMAD для планирования контейнеров Docker. Этим док-контейнерам нужно заполнить конфигурационные файлы из хранилища CONSUL KV, и я сделал это, работая с шаблоном консула (когда ACL не включен).

Теперь моя проблема заключается в том, что, когда у меня включен ACL в CONSUL - контейнеры Docker НЕ могут получить значения из хранилища CONSUL KV с ошибками 403 (разрешение отклонено) из-за ACL. Я думал, что так как я настроил консул строфа в 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 ответов

Другие вопросы по тегам