#consul
#консул
Вопрос:
Существует сценарий, над которым я работаю, и это кластеризация Consul для обнаружения службы. У меня есть 3 физических компьютера для создания кластера. Я следую этому руководству для разработки своего кластера. В конце концов, это результат consul members
:
** Я не вижу выборов лидера или что-то в этом роде, странно!!
При подключении возникает ошибка Consul UI
, если я включил ui
ее в конфигурацию. Ошибка гласила
Серверная часть ответила ошибкой, ошибка 500 Возможно, вы посетили URL-адрес, который загружает неизвестный ресурс, поэтому вы можете попробовать вернуться к корню или попробовать повторно отправить свой токен / секретный идентификатор ACL, вернувшись к списку ACL.
Затем я понял, что, возможно, важно настроить ACL, поэтому я добавил эти строки в свой файл конфигурации
acl {
enabled = true
default_policy = "deny"
down_policy = "extend-cache"
}
После того, как эта consul members
команда сказала
Ошибка при получении элементов: неожиданный код ответа: 403 (ACL не найден)
и consul acl bootstrap
команда сказала
Сбой начальной загрузки ACL: неожиданный код ответа: 500 (Система ACL в настоящее время находится в устаревшем режиме.)
Приятно отметить, что вся настройка серверов взята из этого руководства.
Итак, что здесь происходит?
Комментарии:
1. Похоже, кластер, возможно, не выбрал лидера. Можете ли вы проверить, выбран ли лидер с помощью
consul operator raft list-peers
? Ошибка, связанная сconsul acl bootstrap
тем, что система находится в устаревшем режиме, вероятно, связана с тем, что Consul не может определить, все ли серверы поддерживают новую модель ACL. Смотрите github.com/hashicorp/consul/issues/5218#issuecomment-453568856 для получения более подробной информации.2.
/var/log/consul/
В этом случае в файле журнала будут следующие ошибки: 2021-02-09T15:50:38.634 0100 [ОШИБКА] агент.anti_entropy: не удалось синхронизировать удаленное состояние: ошибка = «Нет лидера кластера» 2021-02-09T15:50:39.484 0100 [ОШИБКА] агент: ошибка обновления координат: ошибка= «Нет лидера кластера»3. Вам также необходимо создать токены ACL для агентов Consul в вашей среде. Вы можете следить за процессом в learn.hashicorp.com/tutorials/consul /… , или следующее. 1) Создайте токены для каждого узла, используя
consul acl token create -node-identity=<node_name>
. 2) Настройте токены вacl.tokens.agent
иacl.tokens.default
. 3) Перезапустите Consul.