Jobs not deleting after completion with ttlSecondsAfterFinished

10/7/2019

I have a service that deploys thousands of short lived jobs on Kubernetes each day. I am trying to get Kubernetes to delete these jobs after completion using the functionality described here:

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

The job completes, but the Job remains in the cluster after the time limit expressed in ttlSecondsAfterFinished.

I'm testing this on GKE and my master node is running 1.12.7-gke.25 I understand this is an alpha feature, but I haven't gotten a single Job to be deleted.

apiVersion: batch/v1 
kind: Job
metadata:
  name: ttl-test
spec:
  ttlSecondsAfterFinished: 100
  template:
    metadata:
      name: ttl-test 
    spec:
      containers:
      - name: test-container
        image: myimage
-- Brett
kubernetes

1 Answer

10/8/2019

The TTL Controller is currently an alpha feature. If you want to use it, make sure alpha features are enabled on your GKE cluster. You can check this on the GCP console UI under Clusters / / Details / Kubernetes alpha features.

-- gnvk
Source: StackOverflow