我们正在尝试创建自己的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软件包安装自定义软件包只能安装马拉松应用吗?还是有办法将马拉松组作为DCOS软件包安装?

最佳答案

是的,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)的请求,该端点正在启动单个应用程序。

10-02 00:37