如何在 kubernetes 中终止/超时长时间运行的 cronjob pod

问题描述 投票:0回答:1

有没有办法杀死 kubernetes 中长时间运行的 cronjob?基本上,我在 kubernetes 中创建了一个 CronJob。它正在运行一项耗时的操作。我想对其进行限制。因此,与此 cronjon 关联的 pod 应该被自动杀死/删除;如果没有在特定时间段内完成,例如 5 分钟。

kubernetes kubernetes-cronjob
1个回答
0
投票

要在 Kubernetes CronJob 在特定时间(例如 5 分钟)内未完成时自动终止它,您可以在作业配置中指定

activeDeadlineSeconds
属性。以下是如何在 CronJob YAML 文件中进行设置的示例:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-cronjob
spec:
  schedule: "0 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: my-container
            image: myimage
            args:
            - /bin/sh
            - -c
            - echo Hello from the Kubernetes cluster && sleep 360
          restartPolicy: OnFailure
          activeDeadlineSeconds: 300  # This limits the job's duration to 5 minutes

此配置限制作业运行时间不超过 300 秒。如果作业超出此限制,Kubernetes 将自动终止作业。

有关

activeDeadlineSeconds
工作原理的更多信息,您可以查看 Kubernetes Jobs 上的此页面。该文档提供了对作业行为的深入解释,包括使用
activeDeadlineSeconds
来控制作业执行限制。

© www.soinside.com 2019 - 2024. All rights reserved.