У DC/OS есть три роли, это master, slave, slave_public, почему нельзя разместить их на одном хосте?

Я просто исследую DC/OS, обнаружив, что DC / OS имеет три роли:master, slave, slave_public, я хочу развернуть кластер, который может разместить роли master, slave или slave_public на одном хосте, но в настоящее время я не могу этого сделать,

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

У меня просто есть идея. Если я не смогу, я перестану использовать DCOS, я буду использовать мезо и марафон.

У кого-нибудь есть идея со мной? Я с нетерпением жду ответа.

2 ответа

Это сделано специально, и на самом деле работают над тем, чтобы усилить установку машины только с одной ролью, потому что вещи ломаются с более чем одной.

Если вы пытаетесь продемонстрировать / поэкспериментировать с DC/OS и у вас есть только одна машина, вы можете использовать Виртуальные машины или Docker для разделения этой машины на несколько машин / частей, на которые вы можете установить DC/OS. В этом вам могут помочь dcos-vagrant и dcos-docker.

Что касается установки, то конфигурация для каждой из трех ролей несовместима друг с другом. Роль "master" приводит к тому, что на хосте запускается / устанавливается целая куча программ (Mesos-DNS, Mesos master, марафон, экспонент, zookeeper, 3dt, adminrouter, rexray, spartan, navstar и др.), Которые прослушивают различные порты. Роль "ведомый" приводит к тому, что на компьютере настроен и запущен агент агента (мезос, переименованный из мезослава в агент мезос, следовательно, отключен). Мезосагент сконфигурирован для управления большинством портов, превышающих 1024, задачам, которые запускаются средами мезо на агенте. Некоторые из этих портов используются сервисами, которые запускаются на мастерах, что приводит к странным конфликтам и трудно исправить плохое поведение.

В случае запуска "slave" и "slave_public" на одном и том же хосте, эти два конфликтуют более напрямую, потому что оба они приводят к запуску mesos-agent на хосте с немного отличающейся конфигурацией. И mesos-agent (тот, который настроен с ролью "slave", и тот, что с ролью "slave_public") настроен на прослушивание через порт 5051. Однако использовать его может только один из них, так что в итоге вы получите один из агентов будучи нефункциональным.

DC/OS поддерживает запуск узла только в качестве главного или агента (подчиненного). Вы правы, что Месос не имеет этого ограничения. Но DC/OS - это больше, чем просто Месос / Марафон. Для включения всех дополнительных функций DC/OS существуют различные компоненты, построенные вокруг Mesos и Marathon. Иногда эти компоненты ведут себя по-разному, независимо от того, работают они на ведущем устройстве или агенте, а в других случаях компоненты, которые существуют на главном устройстве, могут существовать или не существовать на агенте, или наоборот. Таким образом, запуск мастера и агента на одном узле может привести к конфликтам / проблемам.

Если вы хотите запустить небольшую настройку разработки, прежде чем масштабировать решение до более крупной распределенной системы, DC/OS Vagrant может быть хорошей отправной точкой.

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