2016-11-21 46 views
0

我有一个dockerized的spring-boot应用程序,需要安排在mesos/chronos(DC/OS)中。 有2处,其(我认为)可以用来完成Chronos的调度:通过使用所述“容器”标签在chronos下运行docker有什么更好的方法?

Chronos的的一个例子使用“命令”的标签 2)

1)命令标记将是:

{ 
    "name": "my-dockerized-app", 
    "command": "docker login -u my_username -p my_password -e [email protected]_company.com;docker run -e id=123 my_owner/my_dockerized_app_image:latest", 
    "shell": true, 
    "epsilon": "PT60S", 
    "executor": "", 
    "executorFlags": "", 
    "retries": 2, 
    "owner": "", 
    "ownerName": "", 
    "description": "", 
    "async": false, 
    "successCount": 0, 
    "errorCount": 264, 
    "lastSuccess": "", 
    "lastError": "", 
    "cpus": 0.5, 
    "disk": 256.0, 
    "mem": 512.0, 
    "disabled": false, 
    "softError": false, 
    "dataProcessingJobType": false, 
    "errorsSinceLastSuccess": 264, 
    "uris": [], 
    "environmentVariables": [{ 
     "name": "id", 
     "value": "1" 
    }], 
    "arguments": [], 
    "highPriority": false, 
    "runAsUser": "root", 
    "constraints": [], 
    "schedule": "R/2016-11-21T05:06:00.000Z/PT2M", 
    "scheduleTimeZone": "" 
} 

Chronos的 “容器” 的标签的一个例子:

{ 
    "schedule": "R\/2014-09-25T17:22:00Z\/PT2M", 
    "name": "my_docker_job", 
    "container": { 
     "type": "DOCKER", 
     "image": "my_owner/my_dockerized_app", 
     "network": "BRIDGE" 
    }, 
    "cpus": "0.5", 
    "mem": "512", 
    "uris": [], 
    "" 
    } 

以下哪些调度方法建议立即进行删除d是否真的用于Mesos/Chronos生产环境?

+0

你有没有看过DC/OS [乔布斯](https://dcos.io/docs/1.8/usage/jobs/)呢?展望未来,这是最好的选择。 –

回答

0

您应该使用第二个选项

在这两种配置的区别是这样Mesos将泊坞窗互动。

  1. 您正在创建启动docker的Mesos任务,因此Mesos不知道Docker,您需要监视它。
  2. Mesos将为您启动码头并对其进行跟踪。因此,如果码头工人失败,Mesos会通知Chronos。
相关问题