У меня есть хост-машина (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.