什么是一个更好的方式下运行计时码头?

krcsximq  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(437)

我有一个停靠的spring启动应用程序,它需要在mesos/chronos(dc/os)中调度。有两个地方(我认为)可以用来完成chronos调度:
1) 通过使用“command”标签2)通过使用“container”标签
chronos命令标签的一个例子是:

  1. {
  2. "name": "my-dockerized-app",
  3. "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",
  4. "shell": true,
  5. "epsilon": "PT60S",
  6. "executor": "",
  7. "executorFlags": "",
  8. "retries": 2,
  9. "owner": "",
  10. "ownerName": "",
  11. "description": "",
  12. "async": false,
  13. "successCount": 0,
  14. "errorCount": 264,
  15. "lastSuccess": "",
  16. "lastError": "",
  17. "cpus": 0.5,
  18. "disk": 256.0,
  19. "mem": 512.0,
  20. "disabled": false,
  21. "softError": false,
  22. "dataProcessingJobType": false,
  23. "errorsSinceLastSuccess": 264,
  24. "uris": [],
  25. "environmentVariables": [{
  26. "name": "id",
  27. "value": "1"
  28. }],
  29. "arguments": [],
  30. "highPriority": false,
  31. "runAsUser": "root",
  32. "constraints": [],
  33. "schedule": "R/2016-11-21T05:06:00.000Z/PT2M",
  34. "scheduleTimeZone": ""
  35. }

chronos“container”标签示例:

  1. {
  2. "schedule": "R\/2014-09-25T17:22:00Z\/PT2M",
  3. "name": "my_docker_job",
  4. "container": {
  5. "type": "DOCKER",
  6. "image": "my_owner/my_dockerized_app",
  7. "network": "BRIDGE"
  8. },
  9. "cpus": "0.5",
  10. "mem": "512",
  11. "uris": [],
  12. ""
  13. }

在mesos/chronos生产环境中应该真正使用哪种调度方法?

mpbci0fu

mpbci0fu1#

你应该使用第二个选项
这两种配置的区别在于mesos与docker的交互方式。
您正在创建启动docker的mesos任务,因此mesos不知道docker,您需要监视它。
mesos将为您启动docker并跟踪它。所以如果docker失败,mesos会通知chronos。

相关问题