как лучше запустить докер под хроносом?

У меня есть докеризованное приложение с весенней загрузкой, которое нужно запланировать в mesos/chronos (DC/OS). Есть 2 места, которые (я думаю) можно использовать для планирования Хроноса:

1) с помощью тега «команда» 2) с помощью тега «контейнер»

Пример тега команды Chronos:

{
    "name": "my-dockerized-app",
    "command": "docker login -u my_username -p my_password -e dev-my_user@my_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": [],
     ""
    }

Какой из этих методов планирования действительно следует использовать в производственных средах Mesos/Chronos?


person Eugene Goldberg    schedule 21.11.2016    source источник
comment
Вы уже ознакомились с Jobs DC/OS? Забегая вперед, это лучший вариант.   -  person Michael Hausenblas    schedule 22.11.2016


Ответы (1)


Вы должны использовать второй вариант

Разница в этих двух конфигурациях заключается в том, как Mesos будет взаимодействовать с докером.

  1. вы создаете задачу Mesos, которая запускает докер, поэтому Mesos не знает о докере, и вам нужно его контролировать.
  2. Mesos запустит для вас докер и будет следить за ним. Поэтому, если докер выйдет из строя, Mesos уведомит Chronos.
person janisz    schedule 24.11.2016