LINUX.ORG.RU

История изменений

Исправление Samamy, (текущая версия) :

Я погуглил это вопрос и во всех статьях предполагается использование нескольких мастер нод. И вот тут у меня вопросы, не очень понятно, как они все согласованно работают?

Работают согласованно потому-что, все настройки кластера хранятся в реплецируемом хранилище etcd, которое может находится как на самой мастер ноде так и на выделенном хосте (возможные топологии).

Они (мастер ноды) все работают одновременно или одна из них является ведущей, а остальные просто поддерживают синхронизированное состояние с ней?

Трафик балансируется между мастер нодами loadbalancer’ом (haproxy, nginx…), трафик к кластеру приходит на ip адрес loadbalancer’а. И в любой момент времени если нода падает то loadbalancer перенаправляет запросы на рабочую мастер ноду.

В случае выхода одной ноды из строя, у них есть какой-то внутренний механизм прихода к консенсусу или как это все работает?

Работает система весов. При падении мастер нод, большинство оставшихся рабочих мастер нод имеют больший вес при согласовании данных, чем все остальные. (Здесь и ниже подразумеваю что хранилище настроек etcd находятся на тех же мастер нодах)
Минимальная конфигурация HA подразумевает три мастер ноды, чтобы если одна мастер нода упадет то оставшиеся две имели больший перевес. Если ничего не путаю поэтому и принято поднимать нечетное количество мастер нод, чтобы был перевес голосов при одновременном падении половины кластера.

Что будет, если нода, которая была недоступна, вдруг опять станет доступной, как кластер это обработает?

Синхронизирует данные с других нод.

Исходная версия Samamy, :

Я погуглил это вопрос и во всех статьях предполагается использование нескольких мастер нод. И вот тут у меня вопросы, не очень понятно, как они все согласованно работают?

Работают согласованно потому-что, все настройки кластера хранятся в реплецируемом хранилище etcd, которое может находится как на самой мастер ноде так и на выделенном хосте (возможные топологии).

Они (мастер ноды) все работают одновременно или одна из них является ведущей, а остальные просто поддерживают синхронизированное состояние с ней?

Трафик балансируется между мастер нодами loadbalancer’ом (haproxy, nginx…), трафик к кластеру приходит на ip адрес loadbalancer’а. И в любой момент времени если нода падает то loadbalancer перенаправляет запросы на рабочую мастер ноду.

В случае выхода одной ноды из строя, у них есть какой-то внутренний механизм прихода к консенсусу или как это все работает?

Работает система весов. При падении мастер нод, большинство оставшихся рабочих мастер нод имеют больший вес при согласовании данных, чем все остальные. (Здесь и ниже подразумеваю что хранилище настроек etcd находятся на тех же мастер нодах)
Минимальная конфигурация HA подразумевает три мастер ноды, чтобы если одна мастер нода упадет то оставшиеся две имели больший перевес при согласование данных. Если ничего не путаю поэтому и принято поднимать нечетное количество мастер нод, чтобы если одновременно половина кластера упадет то будет хоть где-то перевес.

Что будет, если нода, которая была недоступна, вдруг опять станет доступной, как кластер это обработает?

Синхронизирует данные с других нод.