Marathon

Marathon基础应用

2018-12-30  本文已影响3人  王勇1024

创建App

将下面的代码保存为app.json

{
    "id": "shell",
    "cmd": "while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ; done",
    "cpus": 0.1,
    "mem": 10.0,
    "instances": 1
}

执行下面的命令:

curl http://10.136.157.23:8080/v2/apps -d @app.json -H "Content-type: application/json"

其将json文件通过marathon api /v2/apps传递给marathon调度器,请求创建一个实例,资源需求为0.1cpu、10M内存,执行shell命令行。cmd将被发送给Mesos底层执行器进行执行,通过/bin/bash -c ${cmd}。
进入Marathon管理界面,如图3-1所示,可以看到名为shell的App正在运行,App在marathon框架中被定义为长服务,一对多的关系,即为一个App可以有多个task。


图1

可以发现marathon提供app的自动扩展,健康检查以及运行情况的健康,日志管理等功能。
也可以在Marathon管理页面直接创建App:


图2

扩容和缩容

marathon对app的生命周期进行有效的管理,首先介绍其自动扩缩功能,选择Scale Application进行快速扩容,在如图3中填上3,即可扩展到3个实例。

图3

点击“Scale Application”,稍等片刻后,shell App扩容成3个实例:

图4
上一篇下一篇

猜你喜欢

热点阅读