Консул бутстрап-ожидаемое значение - PullRequest
1 голос
/ 22 марта 2019

У меня есть консул кластер, который обычно должен иметь 5 серверов и несколько клиентов. Наш скрипт для запуска серверов, изначально настроенных так:

consul agent -server -bootstrap-expect 5 -join <ips of all 5 servers>

Однако нам пришлось перезапустить все серверы и выполнить загрузку заново - один из наших серверов вышел из строя из-за проблем с оборудованием, и загрузчик больше не работает.

Мой вопрос: в ситуации, когда 5 серверов, но для кворума достаточно 3, следует ли установить -bootstrap-Ожидайте 3?

Документация здесь https://www.consul.io/docs/agent/options.html#_bootstrap_expect, по-видимому, подразумевает, что -bootstrap-Ожидайте, чтобы быть установленным к общему количеству серверов, что означает, что даже одна машина, которая не работает, будет препятствовать загрузке кластера

Для ясности, наши сценарии запуска являются статическими файлами, поэтому, когда я говорю, что есть 5 серверов, это означает, что с тегом сервера может быть запущено до 5

.

1 Ответ

0 голосов
/ 22 марта 2019

В вашем случае, если вам явно не нужно, чтобы все 5 серверов были подключены к сети во время первоначальной настройки кластера, вы должны установить -bootstrap-expect на 3. Это позволит избежать ситуаций, подобных тем, которые произошли, то есть у вас есть 5 серверов, и вы сообщаетеих они должны ждать, пока все 5 будут в сети, для начальной настройки кластера.Как следует из документации:

Когда это предусмотрено, Консул ждет, пока не станет доступно указанное количество серверов, и затем запускает кластер.Это позволяет первоначальному лидеру быть избранным автоматически.

С --bootstrap-expect=3, как только 3 из ваших 5 серверов Consul присоединились к кластеру, начнутся выборы лидера, и если последние 2 присоединятся значительно позже, кластер будет работать.И в этом отношении у вас может быть любое количество серверов, присоединяющихся позже.

...