Mesos&Docker技术交流QQ群:491137983,一起学习,共同进步!
Mesos和Marathon都自带了简易的控制台,可以完成一些简单管理控制功能。
1.Mesos控制台
Mesos的控制台地址:http://192.168.2.71:5050
Mesos的控制台上可以查看的当前的资源实用情况、Slave节点状态、当前运行的Task、完成的Task、可以切换到Framework(如Marathon)或者Slave。
2.Marathon控制台
Marathon控制台地址:http://192.168.2.71:8080
Marathon控制台上可以查看当前应用的运行状态,可以发布新应用、调整当前应用的实例数等。
发布应用:
ID:hello
CPUs:0.1
Memory:16
Disk Space:0
Instances:1
Command:echo hello world!;sleep 10;
上述例子是使用Mesos默认容器进行创建,并执行任务;如果需要使用docker容器,可以在Docker container settings
中填写具体参数。
应用创建后,会输出hello world!
,并且每10秒钟重新deploy一次。
说明:Mesos+Marathon框架发布的Task会在执行完毕后进行销毁,并重新发布,若是需要发布web app一类的长应用,必须保证运行程序独占console,如Tomcat,可以执行
catalina.sh run
进行启动并保持长运行状态,后台运行的程序Marathon无法保持Task长运行。
可以通过Marathon的RestAPI发布应用
curl -X POST http://192.168.2.71:8080/v2/apps -d@inky.json -H "Content-type: application/json"
inky.json文件示例
{
"id": "inky4",
"container": {
"docker": {
"image": "192.168.2.98:5000/tomcat-jdk1.7",
"network":"BRIDGE",
"portMappings":[{"containerPort":8080,"hostPort":0,"protocol": "tcp"}]
},
"type": "DOCKER",
"volumes": []
},
"args": [],
"cpus": 1,
"mem": 512,
"instances": 1
}