Доступ к мезо-мастеру за доменным именем (не IP)

Можно ли запустить и получить доступ к мастеру mesos на машине, которая находится за прокси?

Мне успешно удалось развернуть MesosMaster / Marathon / MesosSalve в моей локальной инфраструктуре.

Проблема возникает, когда я хочу разместить MesosSlave где-нибудь в Интернете, чтобы MesosSlave и MesosMaster могли общаться через общедоступные IP-адреса.

Моя conf следующая:

              Internet                                                                          My Infra

      .----------------------.                   .-----------------.    .-----------------.              .-------------------------------------------------.
      |    Mesos Slave VM    |                   |  Front Machine  |    |      Proxy      |              |                     Tool-VM                     |
      |    178.22.17.248     |                   |  39.224.147.94  |    |    10.2.0.57    |              |                   10.1.10.176                   |
      |----------------------|                   |  my.domain.com  |    |-----------------|              |           192.168.5.1 (docker bridge)           |
      |                      |                   |-----------------|    |                 |              |-------------------------------------------------|
      |                      |                   |                 |    |                 |              |                                                 |
      |       __________     |                   | __________      |    | __________      |              |                 .-----------------------------. |
      |      [_...__..5051.°]|                   |[_..5050.__...°] |<---|[_..5050.__...°] |<------------^|                 |   Mesos-Master Container    | |
      |                      |                   |                 |    |                 |              \ __________      | 192.168.5.4 (docker bridge) | |
      |                      |                   | __________      |    | __________      |              |[_..5050.__...°]^|-----------------------------| |
      |                      |                   |[_..2181.__...°] |<---|[_..2181.__...°] |<------------^|                 \ __________                  | |
      |                      |                   |                 |    |                 |              \ __________      |[_..5050.__...°]             | |
      |                      |                   |                 |    |                 |              |[_..2181.__...°]^| __________                  | |
      |                      |                   |                 |    |                 |              |                 \[_..2181.__...°]             | |
      |                      |                   |                 |    |                 |              |                 '-----------------------------' |
      '----------------------'                   '-----------------'    '-----------------'              '-------------------------------------------------'

Тем не мение:

Мой домен перенаправляет все, что приходит извне на порты 5050 (для Mesos) и порт 2181 (zookeeper) ТОЛЬКО для запросов, адресованных домену my.domain.com (который является виртуальным хостом). из 39.224.147.94). Но не для других запросов (поступающих на 39.224.147.94).

Поэтому я пока пытаюсь запустить сервис через CLI:

  1. Запустите Mesos Master (в главном контейнере Mesos).

/usr/sbin/mesos-master --ip=192.168.5.4 --work_dir=~/Mesos/mesos-0.23.0/workdir/ --zk=zk://192.168.5.4:2181/mesos --quorum=1 --log_dir=/var/log/mesos --external_log_file=/dev/stdout

  1. Выполните Marathon (в главном контейнере Mesos)

/usr/bin/marathon --zk zk://192.168.5.4:2181/marathon --master zk://my.domain.com:2181/mesos

  1. Запустите Mesos Slave (в Mesos Slave VM).

/usr/sbin/mesos-slave --master=my.domain.com:5050 --work_dir=/var/lib/mesos/agent --port=8009 --containerizers=docker --executor_registration_timeout=3mins --log_dir=/var/log/mesos

Мастер Mesos может видеть ресурсы Slave. Однако, когда я отправляю задание через Marathon, оно остается в состоянии ожидания.

Кажется, что подчиненное устройство не может общаться по имени хоста Мастера, а только используя его общедоступный IP-адрес:

У меня в журналах Slave есть:

Обнаружен новый мастер по адресу [email protected]: 5050

Однако входящий трафик на 39.224.147.94:5050 блокируется моей инфраструктурой (принимается только my.domain.com:5050).

Итак, возможно ли создать соединение между Master и Slaves, используя доменные имена, но не IP-адреса?


person matt    schedule 05.12.2016    source источник


Ответы (1)


Честно говоря, это немного сбивает с толку. Я не понимаю, что вы, кажется, используете 192.168.5.4 ip для главного процесса, но его нигде нет на вашей диаграмме. Я бы ожидал использовать вместо этого 39.224.147.94.

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

Кроме того, вы можете попытаться установить переменную среды LIBPROCESS_IP на соответствующие IP-адреса для процессов агента и Marathon.

Другой вопрос, почему вы используете такую ​​старую версию Mesos ... Mesos 1.1.0 уже вышла!

person Tobi    schedule 06.12.2016