![如何从主机访问虚拟机上运行的 Mesos DNS](https://linux22.com/image/675982/%E5%A6%82%E4%BD%95%E4%BB%8E%E4%B8%BB%E6%9C%BA%E8%AE%BF%E9%97%AE%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%9A%84%20Mesos%20DNS.png)
我有一台主机(Mac OS X 10.11.1)通过 运行虚拟机vagrant
。我在其中一个节点上安装了 Mesos DNS,并resolv.conf
在其他集群节点上进行了修改,因此我可以从任何节点成功使用 DNS。但问题是我如何才能从主机上使用它。如果我在端口上运行应用程序,8000
我可以通过 成功连接到它private_node_IP:8000
,但如果集群上应用程序的解析域名是,myapp.marathon.mesos:8000
我无法从主机连接到它。
Vagrant文件:
# -*- 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
答案1
没有办法直接使用 dns 来执行此操作。我目前正在使用 nginx 代理传递来重定向 marathon 应用程序端点。
首先,您需要一个服务发现工具,例如 bamboo。这样,您就可以通过 nginx 将所有子域重定向到 bamboo 端点。