通过api调用marathon重启app后出现deployment,但是app不会重启,配置如下:

  "constraints": [
    [
      "hostname",
      "UNIQUE"
    ],
    [
      "hostname",
      "LIKE",
      "HOST-00[12]"
    ]
  ]

指定app只能在2个服务器上启动,并且每个服务器只能启动1个instance,

解决方法如下:

  "upgradeStrategy": {
    "maximumOverCapacity": 1,
    "minimumHealthCapacity": 0.5
  }

官方解释如下:

问题原因:minimumHealthCapacity默认为1,即只有新实例启动之后才会停止老实例,这与hostname:UNIQUE冲突了;

参考:

marathon constraints

https://mesosphere.github.io/marathon/docs/constraints.html

marathon app deployment

http://mesosphere.github.io/marathon/docs/deployments.html

01-26 03:49
查看更多