access logs in cron jobs kubernetes
I guess you know that the pod is kept around as you have successfulJobsHistoryLimit: 3
. Presumably your point is that your logging is going logged to a file and not stdout and so you don't see it with kubectl logs
. If so maybe you could also log to stdout or put something into the job to log the content of the file at the end, for example in a PreStop hook.
Cronjob
runs pod according to the spec.schedule
. After completing the task the pod's status will be set as completed
, but the cronjob
controller doesn't delete the pod after completing. And the log file content still there in the pod's container filesystem. So you need to do:
# here you can get the pod_name from the stdout of the cmd `kubectl get pods`
$ kubectl logs -f -n default <pod_name>