我们正在尝试创建自己的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)的请求,该端点正在启动单个应用程序。