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
}