Kubernetes activeDeadlineSecond秒不杀进程

时间:2018-11-27 17:57:40

标签: kubernetes

我在activeDeadlineSeconds定义中使用了Job,但似乎没有任何效果。我有一个CronJob,每分钟启动一个工作,我希望该工作在创建另一个工作集之前自动杀死它的所有pod(因此50秒似乎是合理的)。我知道还有其他方法可以做到这一点,但这对我们的情况非常理想。

不过,我注意到这些豆荚并没有被杀死。 activeDeadlineSeconds有什么限制吗?我在K8 1.7的文档中看不到任何内容-https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/#jobspec-v1-batch我也检查了最新版本。

这是我的CronJob定义的精简版本-

apiVersion: batch/v2alpha1
kind: CronJob
metadata:
  name: kafka-consumer-cron
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:  # JobSpec
      activeDeadlineSeconds: 50   # This needs to be shorter than the cron interval  ## TODO - NOT WORKING!
      parallelism: 1
      ...

2 个答案:

答案 0 :(得分:1)

您可以使用concurrencyPolicy: "Replace"。这将终止先前运行的pod,然后开始一个新的pod。

从此处查看评论:ConcurrencyPolicy

答案 1 :(得分:0)

事实证明,这实际上是1.7中的一个已知错误。在版本1.8中已修复

https://github.com/openshift/origin/issues/10755 https://github.com/kubernetes/kubernetes/issues/32149