使用 ttlSecondsAfterFinished 完成后作业未删除

Bre*_*ett 6 kubernetes

我有一项服务,每天在 Kubernetes 上部署数千个短期作业。我正在尝试使用此处描述的功能让 Kubernetes 在完成后删除这些作业:

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically

作业完成,但作业在 中表示的时间限制后仍保留在集群中ttlSecondsAfterFinished

我正在 GKE 上对此进行测试并且我的主节点正在运行1.12.7-gke.25 我知道这是一个 alpha 功能,但我还没有删除单个作业。

apiVersion: batch/v1 
kind: Job
metadata:
  name: ttl-test
spec:
  ttlSecondsAfterFinished: 100
  template:
    metadata:
      name: ttl-test 
    spec:
      containers:
      - name: test-container
        image: myimage
Run Code Online (Sandbox Code Playgroud)

gnv*_*nvk 12

在 Kubernetes v1.21 中,TTL 控制器处于测试阶段并默认启用。

在 Kubernetes v1.20 之前,它是一个 alpha 功能。如果您想将其与 v1.21 之前的 Kubernetes 版本一起使用,请确保在您的 GKE 集群上启用了 alpha 功能。您可以在集群 / <your_cluster> / 详细信息 / Kubernetes alpha 功能下的 GCP 控制台 UI 上进行检查。

  • 现在是 1.21 的 beta 版并且默认启用。 (2认同)