У меня есть следующая проблема, и я не уверен, что делаю что-то не так или он работает не так, как ожидалось.
- У меня есть консольный кластер с включенным 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.
Я что-то не так делаю или это просто так не работает?
Заранее спасибо.