【问题标题】:Cron service in multiple k8s pod多个 k8s pod 中的 Cron 服务
【发布时间】:2021-05-06 13:32:35
【问题描述】:

我有一个在多个 k8s pod 上运行的应用程序。请原谅我对 k8s pod 的了解不足,据我了解,k8s 会将传入的流量路由到不同的 pod,就像代理一样。

如果我的应用程序正在运行一个获取数据的 cron 作业会发生什么。是否会根据 pod 运行的数量多次调用 cron 作业,我担心这将是数据重复,因为这些 pod 将获取相同的数据。

我的问题是如何在 cron 作业获取数据时避免数据重复?这些 pod 可以配置成像工人一样的东西吗?假设 cron 作业正在获取 500 个数据。给定 5 个 pod,每个 pod 将获取 100 个数据。

【问题讨论】:

    标签: kubernetes cron


    【解决方案1】:

    理想情况下,POD 不应该主要运行 API 或套接字服务器等工作负载

    对于 cronjob,还有其他选项 n Kubernetes 尤其适用于 cronjob。

    在 Kubernetes 中有 cronjobsjobs 两个东西。

    https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

    cron 作业按照玉米时间执行,而作业在您使用 YAML 创建时执行。

    Cronjob 间接创建 job 运行时间。您可以使用kubectl get jobskubectl get cronjobs 进行查看

    这些 pod 可以配置成类似于工人的东西吗?比方说 cron 作业正在获取 500 个数据。给定 5 个 pod,每个 pod 将获取 100 条数据。

    现在这取决于您的场景,您可以创建单个 cronjob 来获取所有这 500 个数据,并且单个 pod 将一次运行或玉米执行。

    我的问题是如何在 cron 作业获取时避免数据重复 数据?

    将该类型的工作负载作为 Cronjob pod 运行。

    https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-14
      • 2022-01-04
      • 2018-01-02
      • 2018-12-30
      • 2019-01-20
      • 2019-08-21
      • 2020-03-20
      • 2020-10-09
      相关资源
      最近更新 更多