2016-06-22 45 views
3

我們正在嘗試創建自己的DCOS包來安裝我們的應用程序,我們創建了自己的Universe並在S3中託管它,我們爲DCOS包創建了所有必需的文件(config.json ,package.json,marathon.json.mustache)並且正確創建索引,稱爲Atest。將馬拉松羣組安裝爲DCOS包

我們marathon.json是一組應用程序的馬拉松式的描述:

{ 
    "id" : "/{{Atest.id}}", 
    "groups": 
    [ 
     { 
      "id": "{{Atest.apps-id}}", 
      "apps" : 
      [ 
       { 
        "id" : "{{Atest.app-master-id}}", 
        ....... 
       }, 
       { 
        "id" : "{{Atest.app-slave-id}}", 
        ....... 
       }, 
      ] 
     } 
    ] 
} 

當我們部署通過馬拉松API它工作正常的應用程序,但是,當我們嘗試運行DCOS包安裝ATEST失敗,如果我替換隻有主應用程序的JSON,它沒有問題的安裝。

所以DCOS軟件包安裝custom-package只能安裝馬拉松應用程序嗎?或者是否有辦法將馬拉松小組安裝爲DCOS軟件包?

回答

1

是的,dcos package install custom-package只能安裝馬拉松應用程序。 DCOS沒有支持接受馬拉松小組json。

Marathon支持從同一個json啓動多個應用程序,它從REST API登錄到/ v2/groups端點。 (https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-groups)。

但是,Cosmos(DC/OS軟件包管理器 - https://github.com/dcos/cosmos/)不接受相同的請求,因爲它只接受啓動單個應用程序的/ v2/apps端點(https://github.com/dcos/cosmos/blob/master/cosmos-server/src/main/scala/com/mesosphere/cosmos/MarathonClient.scala#L20)的請求。