如何将 cron 限制为一个节点

How can i limit cron to one node

手动或通过自动水平缩放添加节点时,将克隆主节点。这意味着 crontab 也将被克隆,对吗? 我怎样才能避免 cron 同时在两个或多个节点上启动(这通常不是故意的)?

有几种可能的方法:

  • 您的脚本可以理解它不是主节点,因此它可以将自己从 cron 中删除或什么也不做。每个节点在 layer/nodeGroup 中都有关于主节点的信息。

    env | grep MASTER
    MASTER_IP=172.25.2.1
    MASTER_HOST=node153580
    MASTER_ID=153580
    

  • onAfterScaleOut. Here is an example 如何使用此事件中通过云脚本禁用 cron。

  • 将软件模板部署为自定义 docker 图像(即使您使用经过认证的 Jelastic 模板)。此类图像在水平缩放期间不会被克隆,它们是从头开始创建的。