马拉松可以使用一个专用于一个应用程序的端口

时间:2018-03-15 07:50:44

标签: mesos marathon

我想要一组应用程序使用特定范围的端口,其他应用程序使用其他范围

在mesos-agent上我设置了:--resources="ports(*):[8000-9000, 31000-32000]"

我想生成100×APP1,并在范围8000-9000和其他应用程序(APP2,APP3,... APPN)的端口绑定中使用带有hostPorts的BRIDGE网络,以使用范围31000-32000。< / p>

有可能吗?

现在APP2,3 ... APPN可以从范围8000-9000获取端口,这对我来说是不可取的。

更新:我为资源端口范围8000-9000创建了一个角色(静态预留)。签入mesos-master:5050/slaves,似乎没问题

"reserved_resources": {
    "app1": {
        "disk": 0.0,
        "mem": 0.0,
        "gpus": 0.0,
        "cpus": 0.0,
        "ports": "[8000-9000]"
    }
}

    "reserved_resources_full": {
        "app1": [{
            "name": "ports",
            "type": "RANGES",
            "ranges": {
                "range": [{
                    "begin": 8000,
                    "end": 9000
                }]
            },
            "role": "app1",
            "reservations": [{
                "type": "STATIC",
                "role": "app1"
            }]
        }]
    }

它还将零分配给磁盘,mem等。不知道为什么它会像这样。在马拉松比赛中,我补充道:

"acceptedResourceRoles": [
    "app1"
]

但它没有部署应用程序。我把马拉松式的记录放到了追踪中:

  

考虑具有角色{app1}且没有居民保留标签的资源。并非所有基本资源都满足:cpus NOT SATISFIED(0.1&gt; 0.0),mem not SATISFIED(512.0&gt; 0.0)(mesosphere.mesos.ResourceMatcher $:marathon-akka.actor.default-dispatcher-33)

然后我修改了:

"acceptedResourceRoles": [
   "app1",
   "*"
]

现在它说:

  

考虑具有角色{app1,*}且没有居民保留标签的资源。对于运行规范

,找不到包含主机端口8111的范围

文档中没有关于resident reservation labels的内容。有reservation labels但它没有说明如何创建或添加标签或仅仅是一个小例子。对于角色,有一些链接到ACL,但非常模糊,它似乎进入用户和权限,而不是什么资源保留。

1 个答案:

答案 0 :(得分:0)

所以我找到了一种让它发挥作用的方法。我不知道这是否是正确的方法,但我没有其他任何东西可以比较,所以在这里:

  1. 在我附加在/ etc / default / mesos-master

    中的主人
    value
  2. 在我附加在/ etc / default / mesos-slave

    中的mesos slave上
    MESOS_ROLES="*,app1"
    
  3. 并从exec脚本中删除了--resources参数

    1. 我在/ etc / default / marathon

      中附加的马拉松大师
      MESOS_RESOURCES="ports(*):[30000-32000];cpus(*):4.0;mem(*):15023.0;disk(*):34522.0;ports(app1):[8000-9000]"
      MESOS_ROLES="app1"
      
    2. 重新启动所有mesos主服务器和从服务器,所有具有资源角色“app1”的应用程序都会在其所需范围[8000-9000]中生成端口。