2016-12-09 6 views
0

マラソンで実行されているアプリケーションのインスタンスの数を取得する方法はありますか?私はマラソンで2つのインスタンスの基本的なpython webappを実行しています。私は、メソス - スレーブの負荷が上がったり下がったりすると自動的にインスタンスの数を増減するスクリプトを書いています。そのためには、インスタンスを起動するアプリケーションを最初から起動する必要があります。誰か助けてもらえますか?マラソンでのアプリケーションのインスタンス数

答えて

2

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() 
0

私はマラソンの自動スケーリングアプリケーションに興味があると思います。リポジトリmarathon-autoscaleを見てください。これらのスクリプトはPoC専用のものではありますが、役に立つかもしれません。

関連する問題