【云星数据---mesos实战系列】:marathon实战Constraints篇-002

来源:互联网 发布:excel如何去除重复数据 编辑:程序博客网 时间:2024/06/08 19:34

CLUSTER operator

CLUSTER allows you to run all of your app’s tasks on slaves that share a certain attribute. This
is useful for example if you have apps with special hardware needs, or if you want to run them
on the same rack for low latency.

$ curl -v -X POST http://192.168.100.30:8080/v2/apps \  -H Content-Type:application/json -d '{    "id":"dataman",    "container": {    "type": "DOCKER",    "docker": {      "image": "192.168.100.13:5000/fchen/mynginx",      "network": "BRIDGE",      "portMappings": [        { "containerPort": 80, "hostPort": 0, "protocol": "tcp"}        ]      }    },    "constraints": [["rack_id", "CLUSTER", "rack-1"]],    "cmd": "/usr/sbin/nginx -c /etc/nginx/nginx.conf",    "cpus": 0.1,    "mem": 128.0,    "instances": 5  }'

CLUSTER​允许我们将app发布到Mesos特定的slave节点上。如果你的app对物理机的硬件有要
求,那么这个特性就很有用了。
我们可以看到marathon将我们的app都发布到了rack­1节点上去了。

这里写图片描述

$curl -v -X POST http://192.168.100.30:8080/v2/apps \  -H Content-Type:application/json -d '{    "id":"dataman",    "container": {    "type": "DOCKER",    "docker": {      "image": "192.168.100.13:5000/fchen/mynginx",      "network": "BRIDGE",      "portMappings": [{        "containerPort": 80, "hostPort": 0, "protocol": "tcp"      }]    }  },  "constraints": [["hostname", "CLUSTER", "192.168.100.27"]],  "cmd": "/usr/sbin/nginx -c /etc/nginx/nginx.conf",  "cpus": 0.1,  "mem": 128.0,  "instances": 2 }'

我们还可以指定field name为hostname,并将optional parameter指定为我们希望app运行的slave的hostname。这样我们将2个dataman的instance发布到了192.168.100.27这台slave上。

这里写图片描述

阅读全文
0 0
原创粉丝点击