在希望公开访问的kubernetes
上部署服务时,解决方法是将其类型声明为LoadBalancer
在MESOS / DCOS上公开服务端点的等效方法是什么?
答案 0 :(得分:1)
在DCOS中,代理有两种类型
要运行将公开可用的服务,您需要在公共代理上运行它。可以使用"acceptedResourceRoles":["slave_public"]
完成。有关更多信息,see the docs。
在Mesos中,您需要照顾好您的服务。 this answer
中描述了很多解决方案的基本概念答案 1 :(得分:0)
有很多方法可以公开公开您的服务:
使用马拉松应用程序定义中的以下参数在公共节点上部署应用程序:
"acceptedResourceRoles":["slave_public"]
它会告诉mesos在公共节点上运行您的应用程序。
然后,您可以使用<PUBLIC IP of public node>:<HOST_PORT>
访问服务
您必须在应用程序定义的“网络”部分中定义主机端口。
在公共节点(在Universe上可用)上部署marathon_lb并将您的应用配置为通过虚拟主机公开(通过设置应用标签:HAPROXY_GROUP : external, HAPROXY_0_VHOST : <PUBLIC IP of your Public node>
)
设置您自己的反向代理(如haproxy)并将您的应用配置为后端。
如果您的应用是Mesos框架,则它可以注册一个webui_url以通过管理路由器进行管理访问。 https://docs.mesosphere.com/1.8/development/dcos-integration/#framework-web-ui-url
在应用定义中的标签下方添加:
"DCOS_SERVICE_NAME": "<service-name>",
"DCOS_SERVICE_PORT_INDEX": "0",
"DCOS_SERVICE_SCHEME": "http"