Есть ли способ получить количество экземпляров приложения, запущенного в марафоне? Я запускаю базовое веб-приложение Python из 2 экземпляров в марафоне. Я хочу написать скрипт для автоматического увеличения или уменьшения количества экземпляров при скачках нагрузки на mesos-slave. Для этого мне нужно, чтобы приложения запускались без экземпляров. Может кто-нибудь помочь в этом?
Количество экземпляров приложения в марафоне
Ответы (2)
Marathon REST API — ваш друг. Посмотрите здесь и здесь. В псевдо-питоне нужный скрипт может выглядеть примерно так:
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()
person
rukletsov
schedule
09.12.2016
Я думаю, вас интересуют приложения с автоматическим масштабированием на Marathon. Взгляните на репозиторий marathon-autoscale. Эти сценарии могут быть полезны, хотя они предназначены только для PoC.
person
blurblah
schedule
16.12.2016