通过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