How to get cron job information through k8s selector

11/12/2019

I'm trying to get information for a cron job so I can grab the current release of service.

So when I run kubectl get pods I get:

NAME                                      READY   STATUS      RESTARTS   AGE
cron-backfill-1573451940-jlwwj            0/1     Completed   0          33h
test-pod-66df8ccd5f-jvmkp                 1/1     Running     0          16h

When I run kubectl get pods --selector=job-name=cron-backfill I get:

No resources found in test namespace.

But when I run kubectl get pods --selector=app=test-pod I get:

NAME                               READY   STATUS    RESTARTS   AGE
test-pod-66df8ccd5f-jvmkp          1/1     Running   0          16h

which is what I want. I figured since the first pod is a cron job there must be some other command used to check for those, but no luck.

I tried looking through the k8s docs here https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ but can't find something that seems to work.

-- olivercollins-inhome
cron
kubernetes

1 Answer

11/12/2019

You need to

kubectl describe pods cron-backfill-1573451940-jlwwj

And then you can see the Labels: part

EX:

Labels:             app=<app-name>
                    controller-uid=<xxxxxxxxxx>
                    job-name=cron-backfill-1573451940-jlwwj 
                    release=<release-name>

Final you can use following command to get your pods:

kubectl get pods --selector=job-name=cron-backfill-1573451940-jlwwj

Hope this may help you, Guy!

-- Thọ Quách
Source: StackOverflow