我希望一组应用程序使用特定范围的端口,其余应用程序使用另一个范围
在我设置的mesos代理上: --resources="ports(*):[8000-9000, 31000-32000]"
我要生100个× app1并在范围内的portbindings中使用带有主机端口的网桥网络 8000-9000
以及其他应用程序(app2,app3,…appn)使用范围 31000-32000
.
有可能吗?
现在大约2,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"
}]
}]
}
它还将零分配给磁盘、内存等。不知道为什么会这样。在马拉松比赛中,我补充道:
"acceptedResourceRoles": [
"app1"
]
但它没有部署应用程序。我已经把马拉松的记录放进了追踪中:
考虑具有角色{app1}且没有常驻保留标签的资源。不是所有基本资源都满足:CPU不满足(0.1>0.0),内存不满足(512.0>0.0)(mesosphere.mesos.resourcematcher$:marathon akka.actor.default-dispatcher-33)
然后我修改了:
"acceptedResourceRoles": [
"app1",
"*"
]
现在它说:
考虑角色为{app1,*}且没有常驻保留标签的资源。找不到运行规范的主机端口为8111的范围
文件中没有关于 resident reservation labels
. 有 reservation labels
但它并没有说明如何创建或添加标签,或者只是一个小例子。对于角色来说,有些东西链接到acl,但非常模糊,似乎涉及到用户和权限,而不是资源保留的意义。
1条答案
按热度按时间nwsw7zdq1#
所以我找到了一个办法。我不知道这是否是正确的方法,但我没有其他可以比较的方法,所以就这样:
在我附加在/etc/default/mesos-master中的主控形状上
在我附加在/etc/default/mesos slave中的mesos slave上
并从exec脚本中删除--resources参数
关于我在/etc/default/marathon中添加的马拉松大师赛
重新启动所有mesos主设备和从设备,所有资源角色为“app1”的应用程序都在spawing,它们的端口在我想要的范围内[8000-9000]。