【问题标题】:Kubernetes Jobs or Pods for completion Jobs with auto scaling用于完成的 Kubernetes 作业或 Pod 具有自动缩放功能的作业
【发布时间】:2021-06-10 02:56:53
【问题描述】:

我有 CPU 密集型作业/任务,

需要在kubernetes中运行,下面是job/task的过程

  1. 我们以队列或 API 调用的形式获取请求
  2. 应该创建 POd 并处理任务(少数作业可能在几分钟内运行,少数几小时内运行)
  3. 任务完成后删除 pod

这应该在规模上发生,如果队列中有更多作业,则创建更多作业(Max 10, 20, 30 2e 应该定义它)

我用的是KEDA,POD会被创建,Job完成后会crashloopbback,这是POD生命周期中的默认行为,因为重启策略设置为Always,它会尝试重新创建pod。我们还有其他选项,例如 OnFailure、Never,但我读过 Kubernetes Jobs 更合适

对于上述任务,Kubernetes Pod 或 Jobs 哪个更好,我们应该考虑根据使用情况和队列中的任务数量来扩展 POd 以及需要扩展 kubernetes 节点(云供应商支持)。

【问题讨论】:

    标签: linux azure kubernetes containers keda


    【解决方案1】:

    KEDAScaledJobs最适合这种场景,可以通过Queue、Storage等触发(目前可用的scaler可以找到here

    【讨论】:

      猜你喜欢
      • 2020-07-19
      • 2020-02-28
      • 2020-06-02
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多