kubernetes - Kubernetes activeDeadlineSeconds 没有杀死进程
问题描述
我activeDeadlineSeconds
在我的Job
定义中使用,但它似乎没有任何效果。我有一个 CronJob 每分钟启动一项工作,我希望该工作在创建另一个 Pod 之前自动杀死它的所有 Pod(所以 50 秒似乎是合理的)。我知道还有其他方法可以做到这一点,但这对我们的情况来说是理想的。
然而,我注意到豆荚并没有被杀死。有什么限制activeDeadlineSeconds
吗?我在 K8s 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
...
解决方案
您可以使用concurrencyPolicy: "Replace"
. 这将终止先前运行的 pod,然后启动一个新的。
从这里查看评论:ConcurrencyPolicy
推荐阅读
- javascript - NodeJS 包混淆
- reactjs - 指向另一个列表视图的列表视图
- javascript - 如何调整 Betheme 标题的大小
- javascript - React:如何在 defaultProps 中设置 JSON 值?
- hibernate - 随机错误 SQLNonTransientConnectionException:连接已关闭
- php - 如何检查我的数组中是否存在索引
- widget - 小部件库捕获的 Flutter 异常失败断言
- c++ - 创建一个函数以在给定位置将元素插入到列表中
- asp.net-core - 如何在 asp.net mvc core 中获取页面路径
- php - 保存多维数组的索引