gpt4 book ai didi

Job和Pod中activeDeadlineSeconds之间的Kubernetes区别

转载 作者:行者123 更新时间:2023-12-02 11:29:27 25 4
gpt4 key购买 nike

Kubernetes为activeDeadlineSecondsJobSpec提供PodSpec字段

两者有什么区别?我将activeDeadlineSeconds设置为20,完成了一个小工作,在Pod定义中,我将activeDeadlineSeconds字段设置为45。这些是任意的,但要隔开。当我创建/应用Job然后运行kubectl get pods -a --watch时,我可以看到20个截止日期没有任何影响,但是第二个截止日期是(我看到DeadlineExceeded输出)。

为了更加确定,我在PodSpec中添加了terminationGracePeriodSeconds: 10并看到了相同的东西。

作业中activeDeadlineSeconds的目的是什么?它似乎没有向我的容器发送任何信号。

注意:我只是在sleep图像上运行ubuntu命令。当接收到Kubernetes发送的TERM信号时,该命令应该退出(因此,我希望在20秒后发出TERM信号,然后容器不久就会死掉)

简明的YAML定义:

apiVersion: batch/v2alpha1  # K8s 1.7.x
kind: CronJob
spec:
schedule: "*/1 * * * *"
concurrencyPolicy: Allow
jobTemplate:
spec: # JobSpec
activeDeadlineSeconds: 20 # This needs to be shorter than the cron interval ## TODO - NOT WORKING!
parallelism: 1
template: # PodTemplateSpec
spec:
activeDeadlineSeconds: 45
terminationGracePeriodSeconds: 10
containers:
- name: ubuntu-container
image: ubuntu
command: ['bash', '-c', 'sleep 500000']

引用:
  • https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/#jobspec-v1-batch
  • https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/#podspec-v1-core
  • https://unix.stackexchange.com/questions/429594/why-sigterm-is-able-to-kill-sleep
  • 最佳答案

    社区维基对 future 的回答:

    根据@Clorichel,此问题已在k8s v1.8中修复
    https://github.com/kubernetes/kubernetes/issues/32149

    我的建议是将群集升级到最新版本,如果可以访问最新功能和错误修复。

    关于Job和Pod中activeDeadlineSeconds之间的Kubernetes区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53506010/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com