2016-06-22 8 views
3

Wir versuchen, ein eigenes DCOS-Paket zu erstellen, um unsere Anwendung zu installieren. Wir haben unser eigenes Universum erstellt und in S3 gehostet. Wir haben alle notwendigen Dateien für das DCOS-Paket (config.json) erstellt , package.json, marathon.json.mustache) und der Index wird korrekt erstellt, Atest genannt.Installieren einer Marathon-Gruppe als DCOS-Paket

Unsere marathon.json ist ein Marathon-Descriptor für eine Gruppe von Anwendungen:

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

Wenn wir die Anwendung durch den Marathon api bereitstellen es funktioniert gut, aber wenn wir versuchen, DCOS Paket installieren Atest laufen sie versagt , wenn ich den JSON für nur die Hauptanwendung ersetze, wird es ohne Probleme installiert.

Also DCOS Paket installieren Custom-Paket kann nur Marathon-Anwendungen installieren? Oder gibt es eine Möglichkeit, eine Marathon-Gruppe als DCOS-Paket zu installieren?

Antwort

1

Ja, dcos package install custom-package kann nur Marathon-App installieren. DCOS hat keine Unterstützung, Marathon-Gruppe Json zu akzeptieren.

Marathon hat die Unterstützung, um mehrere Anwendungen von demselben json zu starten, es wird von der REST-API zum Endpunkt/v2/groups summiert. (https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-groups).

Der Cosmos (der DC/OS-Paketmanager - https://github.com/dcos/cosmos/) akzeptiert jedoch nicht die gleiche Anforderung, da er nur die Anforderung für den/v2/apps-Endpunkt (https://github.com/dcos/cosmos/blob/master/cosmos-server/src/main/scala/com/mesosphere/cosmos/MarathonClient.scala#L20) akzeptiert, der eine einzelne App startet.

Verwandte Themen