是否可以在放置在代理服务器后面的计算机上运行和访问mesos主服务器?
我已经成功地在我的本地基础设施上部署了MesosMaster / Marathon / MesosSalve。
当我想将MesosSlave放在互联网的某个地方时,问题出现了,因此MesosSlave和MesosMaster将通过公共IP进行通信
我的问题如下:
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.__...°] | |
| | | | | | | '-----------------------------' |
'----------------------' '-----------------' '-----------------' '-------------------------------------------------'
然而:
我的域名infra重定向外包来自外部端口5050(对于Mesos)和端口2181(zookeeper)仅,用于发送到域&#39; my.domain.com&的请求#39; (这是39.224.147.94的虚拟主机)。但不适用于其他要求(即39.224.147.94)。
所以我暂时尝试通过CLI执行服务:
/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
/usr/bin/marathon --zk zk://192.168.5.4:2181/marathon --master zk://my.domain.com:2181/mesos
/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 Master可以看到Slave资源。 但是,当我通过马拉松发送工作时,这份工作将处于等待状态。
似乎奴隶无法在Master的主机名上进行通信,而只能使用它的公共IP:
我在Slave日志中有这个:
在master@39.224.147.94:5050检测到新主人
但 39.224.147.94:5050 上的传入流量被我的infra阻止(只接受 my.domain.com:5050 )
那么,是否可以使用域名而不是IP来在主服务器和从服务器之间创建连接?
答案 0 :(得分:0)
蜜蜂老实说有点混乱。我不明白的是,您似乎使用192.168.5.4
ip进行主进程,但在您的图表中找不到它。我希望使用39.224.147.94
代替。
此外,我建议在所有连接字符串中使用ip地址而不是hostname,你正在使用混合...
此外,您可以尝试将LIBPROCESS_IP
环境变量设置为代理和Marathon进程的相应IP地址。
另一个问题是为什么你使用这样一个旧版本的Mesos ... Mesos 1.1.0已经出来了!