【发布时间】:2017-07-16 03:23:45
【问题描述】:
是否可以使用 Mesosphere Marathon REST API 扩大和缩小 docker 容器/实例的数量?
端点 GET /deployments 似乎是查看下一个可能操作的唯一选项。
如何使用 REST API 扩展实例(以编程方式:可能使用 curl 脚本而不使用 Marathon Web 界面)?
【问题讨论】:
标签: rest docker mesos marathon
是否可以使用 Mesosphere Marathon REST API 扩大和缩小 docker 容器/实例的数量?
端点 GET /deployments 似乎是查看下一个可能操作的唯一选项。
如何使用 REST API 扩展实例(以编程方式:可能使用 curl 脚本而不使用 Marathon Web 界面)?
【问题讨论】:
标签: rest docker mesos marathon
您应该将 PUT 与 JSON 一起使用,其中只有字段 "instances" 以及所需的实例数(例如,2)和应用程序 ID(例如,/foo)。
PUT <marathon-url>/v2/apps/foo
{ "id": "/foo", "instances": 2 }
注意: Marathon 1.4 deprecates PUT semantic.
/v2/apps 上的 PUT 具有类似 PATCH 的语义:所有未在 json 中定义的值都不会更新现有值。 这始终是 Marathon 版本中的默认行为。 为了向后兼容,我们不会改变这种行为,而是让用户选择合适的 PUT。 Marathon 的下一个版本将使用 PATCH 和 PUT 作为两个单独的操作。
【讨论】:
/ 为前缀,以确保它是绝对组 ID。要获取当前实例,您需要致电 GET <marathon-url>/v2/apps/foo。如果您想获得正在运行/暂存/杀死的实例,请尝试GET <marathon-url>/v2/apps/foo?embed=app.counts 并查找 tasksStaged、taskRunning、tasksHealthy、tasksUnhealthy