昨天我們已經使用了Marathon提供的Web畫面建立了Tomcat Service的程式在Mesos Slave上執行,今天我要介紹幾個常使用Marathon提供的Restful API,操作的方式可以有很多種,例如:curl指令、postman工具、使用撰寫程式…等等很多的方式,今天我是使用curl指令來介紹。
只要打開Linux的終端機,就可以使用curl指令
建立和開啟app的指令如下:
1.首先要建立一個tomcat.json的檔案
{
"id": "tomcat",
"cmd": "cd apache-tomcat-* && sed \"s/8080/1234/g\" < ./conf/server.xml > ./conf/server-mesos.xml && ./bin/catalina.sh run -config ./conf/server-mesos.xml",
"mem": 512,
"cpus": 1.0,
"instances": 1,
"uris": [
"http://ftp.tc.edu.tw/pub/Apache/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.gz"
]
}
2.建立完檔案之後就可以使用curl指令
curl -X POST -H "Content-Type: application/json" http://您的Marathon的IP位址:8080/v2/apps -d @tomcat.json
JSON的檔案設定可以參考官方的文件,改成您要的設定需求
這樣2個步驟就可以在您的Mesos環境平台上部署Tomcat service了
另外您也可以在json加入
"constraints": [["hostname", "CLUSTER", "mesos-slave1"]],
這一段設定,限制只能在mesos-slave1啟動tomcat service
列出你的Marathon Framework執行了哪些app:
curl –X GET http://您的Marathon的IP位址:8080/v2/apps
在上圖列出了目前正在執行的tomcat service
刪除正在執行的tomcat id:
curl -X DELETE http://您的Marathon的IP位址:8080/v2/apps/tomcat
這樣就可以把之前建立的app刪除掉
測試marathon framework是否有正常執行:
curl -X GET http://192.168.182.132:8080/ping
取得有關於marathon framework的系統資訊:
curl -X GET http://192.168.182.132:8080/v2/info
今天我們介紹了一些在Marathon Framework上使用restful的方式操作app,在使用上變得更加快速而且未來也可以用程式去控制這些API而更加方便。
明天來介紹Mesos DNS
參考資料:
Marathon Rest API: https://mesosphere.github.io/marathon/docs/rest-api.html#get-v2-queue