2016-11-21 36 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。
相關問題