客户端如何在不指定host agent ip地址和相关Map端口的情况下访问已部署的微服务。
如果我们添加mesos-dns作为客户端解析程序,我们只能获得代理的ip地址,但它不会返回微服务示例及其相关端口的列表。
假设我们有三个webapp1示例,如下所示:
+---------+---------+
| agent1 | agent2 |
+---------+---------+
| | |
| ins1:11 | ins3:13 |
| | |
| ins2:12 | |
| | |
+---------+---------+
客户机应该能够直接访问其中一个示例(不需要引用agent1和agent2的ip地址或11、12和13端口号)。例如:
$ lynx webapp1.marathon.mesos
2条答案
按热度按时间vuktfyat1#
请检查标题
X-Marathon-App-Id
与马拉松负载平衡器。例子:
更多信息,请参阅文档。
eh57zj3b2#
看看这个答案
当您发出dns srv请求时,dns可以提供有关服务端口的信息。它与大多数客户端不兼容,因此需要手动执行。mesos dns的整个部分都致力于srv记录
以下是文档中的示例:
srv记录
srv记录将服务名称与主机名和ip端口相关联。用于任务
task
由框架发起framework
,mesos dns为服务名称生成srv记录_task._protocol.framework.domain
,在哪里protocol
是udp
或者tcp
. 例如,其他mesos任务可以发现服务search
由marathon
带查找的框架_search._tcp.marathon.mesos
:mesos dns支持使用任务的discoveryinfo生成srv记录。如果没有可用的discoveryinfo,那么mesos dns将退回到为任务分配的那些“端口”资源。下表说明了控制srv生成的规则: