2016-06-22 9 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.

У марафона есть возможность запускать несколько приложений из одного и того же json, он выведен на конечную точку/v2/groups из REST API. (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), которая запускает одно приложение.