0

I have a host machine (Mac OS X 10.11.1) running virtual machines through vagrant. I installed Mesos DNS on one of the nodes, and modified resolv.conf on other cluster nodes, so I can successfully use the DNS from any node. But the question is how can I make use of it from my host machine as well. If I ran an app at port 8000 I can successfully connect to it through private_node_IP:8000, but if the resolved domain name for the app on the cluster is myapp.marathon.mesos:8000 I can't connect to it from host machine.

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 ** on slave nodes

# Generated by NetworkManager
nameserver 192.168.10.11
Yerken
  • 101
  • 3

1 Answers1

0

There is no way to do that directly with dns. I am currently using nginx proxy pass to redirect marathon app endpoints.

First you need a service discovery tool such as bamboo. So you can redirect all subdomains to the bamboo endpoint via nginx.

pmoksuz
  • 74
  • 3