【发布时间】:2022-01-26 18:48:03
【问题描述】:
当前设置
我们有 3 个运行 spring boot 应用程序的 kubernetes pod 的 kubernetes 集群设置。我们使用 Spring Boot 调度程序每 12 小时运行一次作业以获取一些数据并缓存它。(有队列设置,但我不会继续这些细节,因为我的查询是在进入队列之前进行设置)
问题
因为我们有 3 个 pod 并且调度程序处于应用程序级别,所以我们对数据集进行了 3 次调用,每个 pod 都会获得响应,并且在缓存中处理的 pod 首先成为主节点,其他 2 个 pod 从该实例复制数据。
我认为这是一个问题,因为我们将增加作业数量以获取更多数据集,因此这将成倍增加调用次数。
我不是 Devops 方面的人,并且对 azure 的了解有限,因此我需要社区的帮助
需要
有哪些方法可以改善这一点?我想分离出 Cron 计划只运行一次,而不是每个 pod 1 - 我可以将 cronjob 保持在集群级别吗,我在这里读过 https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ 这会解决问题吗?
2 - 我在谷歌上搜索并发现其他选项是运行一个 Cronjob,它将安排一个作业完成,这会有所帮助,但不确定它的真正含义。
在此先感谢您抽出时间阅读。
【问题讨论】:
标签: kubernetes cron kubernetes-pod kubernetes-cluster