马拉松中的应用实例数

时间:2016-12-09 05:25:16

标签: mesos marathon mesosphere dcos

有没有办法让马拉松中运行的应用程序实例数量?我在马拉松中运行了一个包含2个实例的基本python webapp。我想编写一个脚本,以便在mesos-slave的负载增加或减少时自动增加或减少实例数。为此我需要初始化没有实例运行的应用程序。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

Marathon REST API是您的朋友。看看herehere。在伪python中,您想要的脚本可能如下所示:

def scaleTo(instances, force=False):
  marathon = 'http://localhost:8080'
  url = '{}/v2/apps/<your-app-id>'.format(marathon)
  headers = {
             'Content-Type': 'application/json',
             'Accept': 'application/json'
            }
  params = {'force': 'true' if force else 'false'}
  payload = {'instances': instances}

  r = requests.put(url, headers=headers, params=params, json=payload, verify=False)

  r.raise_for_status()

答案 1 :(得分:0)

我认为您对Marathon上的自动缩放应用感兴趣。看看Ted Petrou存储库。这些脚本可能很有用,尽管这些脚本仅适用于PoC。