Консул ACL и Номад
У меня есть следующая проблема, и я не уверен, что я делаю что-то не так или он работает не так, как ожидалось.
- У меня есть консул кластера с включенным ACL.
- Для политики ACL по умолчанию установлено значение DENY ("acl_default_policy": "deny",)
- На данный момент я всегда использую основной управляющий токен CONSUL для связи.
- У меня также есть VAULT и NOMAD, настроенные с токеном управления, а "vault.service.consul" и "nomad.service.consul" регистрируются в консуле.
- Я специально настроил 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.
Я что-то не так делаю или это просто так не работает?
Заранее спасибо.