删除 cronjob 创建的所有 k8s pod

koz*_*zyr 2 cron jobs kubernetes

我有一个每 10 分钟运行一次的 cronjob。因此,每 10 分钟就会创建一个新的 Pod。一天后,我有很多已完成的 pod(不是作业,只有一个 cronjob 存在)。有没有办法自动摆脱它们?

Nic*_*Ben 7

这是标签的工作。

在您的上使用它们CronJob并使用selector(-l标志) 删除已完成的 Pod。

例如:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: my-cron
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: periodic-batch-job
            is-cron: "true"
        spec:
          containers:
          - name: cron
            image: your_image
            imagePullPolicy: IfNotPresent
          restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

使用以下命令删除所有带有 cron 标签的 pod:

kubect delete pod -l is-cron
Run Code Online (Sandbox Code Playgroud)