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

183 篇文章 0 订阅
23 篇文章 0 订阅

GROUP_BY operator

GROUP_BY can be used to distribute tasks evenly across racks or datacenters for high
availability.

$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", "GROUP_BY"]],
  "cmd": "/usr/sbin/nginx -c /etc/nginx/nginx.conf",
  "cpus": 0.1,
  "mem": 128.0,
  "instances": 6
}'

GROUP_BY帮我们将instance均匀的分布到不同的机架上,保证了高可用性。可以看到rack­1
和rack­2上的instance个数均为3个。

这里写图片描述

LIKE operator

LIKE accepts a regular expression as parameter, and allows you to run your tasks only on the slaves whose field values match the regular expression.

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", "LIKE", "rack-[1-2]"]],
  "cmd": "/usr/sbin/nginx -c /etc/nginx/nginx.conf",
  "cpus": 0.1,
  "mem": 128.0,
  "instances": 6
}'

LIKE操作可以将我们的instance发布到我们希望的slave上,匹配正则表达式。
注意:LIKE操作必须带上parameter。

这里写图片描述

UNLIKE operator

Just like LIKE operator, but only run tasks on slaves whose field values don’t match the regular expression.

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", "UNLIKE", "rack-[2,3]"]],
  "cmd": "/usr/sbin/nginx -c /etc/nginx/nginx.conf",
  "cpus": 0.1,
  "mem": 128.0,
  "instances": 6
}'

同LIKE操作,UNLIKE不将instance发布到匹配的slave上,参数匹配正则表达式。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值