3

我们正在尝试创建自己的 DCOS 包来安装我们的应用程序,我们创建了自己的 Universe 并将其托管在 S3 中,我们为 DCOS 包创建了所有必要的文件(config.json、package.json、marathon.json.mustache)并且索引被正确创建,称为 Atest。

我们的 marathon.json 是一组应用程序的马拉松描述符:

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

当我们通过 marathon api 部署应用程序时,它工作正常,但是当我们尝试运行 DCOS 包安装 Atest 时,它会失败,如果我只替换主应用程序的 json,它的安装没有问题。

那么DCOS package install custom-package 只能安装marathon apps?或者有没有办法将马拉松组安装为 DCOS 包?

4

1 回答 1

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),它正在启动一个应用程序。

于 2016-11-14T12:59:08.090 回答