【问题标题】:How to execute the Node JS scheduler within the express JS in Kubernetes cluster environment如何在 Kubernetes 集群环境中的 express JS 中执行 Node JS 调度程序
【发布时间】:2022-01-22 16:01:21
【问题描述】:

我在 Kubernetes 集群中运行 Node JS 和 Express JS 作为服务,使用具有 2 个副本的部署 YML 文件。我正在使用 HELM 进行部署。

现在我需要执行调度程序以在给定的时间间隔运行特定任务。

如果我将它作为单个实例运行,我可以在同一个服务中实现,但由于我使用的是副本,调度程序将同时在两个不同的 Pod 中运行。

有没有办法进行配置,以便我可以在单个 pod 中运行调度程序并在同一 Node JS 服务的另一个 pod 中禁用它?

或者我想作为一个单独的 Node JS 服务移动并维护它?

您能提供您的建议吗?

【问题讨论】:

  • 你用的是哪个版本的 Kubernetes?
  • 我使用的是v1.22.4版本
  • 你想运行你的自定义调度器还是只运行 Kubernetes 中的一些任务?
  • 我想运行自定义调度程序,它会在一段时间内执行一些任务。
  • 你为什么不想使用 CronJob 来运行你的任务?

标签: kubernetes google-kubernetes-engine kubernetes-helm kubernetes-pod


【解决方案1】:

在 Kubernetes 中,您可以找到一个名为 CronJob 的 Object。

这将实现调度器角色,就像 Linux cron 一样。

您可以使用与您的 express JS 应用相同的图像,但启动一个不同的脚本,该脚本将在结尾处以代码退出。

例子:

node app.js 启动你的快递服务器

node schedule.js 启动你的 cron 任务

最好的,

【讨论】:

    猜你喜欢
    • 2015-08-29
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2019-06-06
    • 2020-10-13
    相关资源
    最近更新 更多