2016-06-22 6 views
3

私たちは独自のDCOSパッケージを作成してアプリケーションをインストールしようとしています。独自のユニバースを作成して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パッケージのカスタムパッケージをインストールするには、マラソンアプリのみをインストールできますか?または、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)の要求のみを受け入れるため、同じ要求を受け入れません。

関連する問題