Как я могу создать небольшой кластер и включить не выделенные серверы?

Мы хотим создать небольшой кластер, который сначала будет хранить несколько баз данных и сервисов тестирования. Первоначально кластер будет запущен на 8 выделенных серверах (HP G3/G5). 6 серверов находятся в одной стойке, а два из них находятся в отдельных отдельных местах. За пределами этого кластера у нас есть 2-4 мощных сервера, которые в основном не используют все свои собственные ресурсы. Это заставило меня задуматься о том, что их можно добавить в кластер и выполнять кластерные операции, когда они не используют 100% его ресурсов. Еще одна особенность, которую я хочу иметь в кластере, - запускать док-контейнеры в качестве служб кластера и, конечно, кластер с высокой доступностью и балансировкой нагрузки. Я много искал на эту тему, но не могу найти хороший ответ.

Самый сильный вариант сейчас - это установить Ubuntu 14.04 и Apache Mesos и добавить невыделенные серверы в качестве ведомых в кластере после того, как Mesos внедрил атрибуты динамического ведомого

1 ответ

Вы пытались посмотреть на зоны доступности? Может быть, это может помочь вам. О контейнерах, HA и LoadBalancing, не могли бы вы рассказать немного больше о ваших потребностях? Mesos по своему дизайну уже избыточен, так как заботится о работоспособности и статусе задач, поэтому вам действительно не нужна HA, как вы могли видеть это на платформах виртуализации. Балансировка нагрузки также на самом деле не реализована, поскольку вы планируете использовать ее в обычной инфраструктуре, поскольку кластер mesos будет автоматически планировать ваши задачи в зависимости от предложений и требований, которые он отправляет / получает, планировщик просматривает глобальные доступные ресурсы и делает предложения для вашей задачи. динамически.

На самом деле в мезо вы скорее думаете о избыточности и балансировке нагрузки в дизайне своего приложения, а не в своей инфраструктуре (даже если вы можете построить ведущий и ведомый мезо в режиме высокой доступности), но это не очень интересно.

Я предпочитаю реализовывать сбои как функцию, чтобы иметь возможность управлять любыми проблемами или сбоями в инфраструктуре. Например, если вы хотите что-то относительно безопасное, вам потребуется минимум 3 сервера для части мастеринга и 6 серверов для подчиненной части.

В моей инфраструктуре мы используем небольшой докер Linux plus (часто называемый сегодня атомарными дистрибутивами) на мастерах и минимальный Linux (CentOS/RHEL 7 с строго необходимыми двоичными файлами и инструментами, но не атомарными дистрибутивами) плюс mesos-slave на вершине.

Это позволяет нам защитить нашу инфраструктуру, как если бы кто-либо из подчиненных или мастер-устройств умер, будет обнаружен сбой другим участником, а подключенные службы или задачи будут признаны недействительными, а затем перезапущены на другом узле в зависимости от сбоя и восстановления вашего приложения. политики.

Но, эй, еще раз, это моя установка, и, вероятно, есть лучшая реализация.

Другие вопросы по тегам