Назад | Перейти на главную страницу

Как получить доступ к Mesos DNS, запущенному на виртуальной машине, с хоста

У меня есть хост-машина (Mac OS X 10.11.1), на которой виртуальные машины работают через vagrant. Я установил Mesos DNS на один из узлов и изменил resolv.conf на других узлах кластера, поэтому я могу успешно использовать DNS с любого узла. Но вопрос в том, как я могу использовать его и с моей главной машины. Если бы я запустил приложение в порту 8000 Я могу успешно подключиться к нему через private_node_IP:8000, но если разрешенное доменное имя для приложения в кластере myapp.marathon.mesos:8000 Я не могу подключиться к нему с хост-машины.

Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-7.1"

  config.vm.define "masterslave" do |masterslave|
      masterslave.vm.network "private_network", ip: "192.168.10.10"
      masterslave.vm.hostname = "masterslave"
  end
  config.vm.define "slavedns" do |slavedns|
      slavedns.vm.network "private_network", ip: "192.168.10.11"
      slavedns.vm.hostname = "slavedns"
  end  
  config.vm.define "slave" do |slave|
      slave.vm.network "private_network", ip: "192.168.10.12"
      slave.vm.hostname = "slave"
  end  
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
end

** resolv.conf ** на подчиненных узлах

# Generated by NetworkManager
nameserver 192.168.10.11

Невозможно сделать это напрямую с помощью DNS. В настоящее время я использую прокси-сервер nginx для перенаправления конечных точек приложения marathon.

Сначала вам понадобится инструмент для обнаружения сервисов, например, bamboo. Таким образом, вы можете перенаправить все поддомены на конечную точку bamboo через nginx.