I've created a Kubernetes job that has now failed. Where can I find the logs to this job?
I'm not sure how to find the associated pod (I assume once the job fails it deletes the pod)?
Running kubectl describe job
does not seem to show any relevant information:
Name: app-raiden-migration-12-19-58-21-11-2018
Namespace: localdev
Selector: controller-uid=c2fd06be-ed87-11e8-8782-080027eeb8a0
Labels: jobType=database-migration
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"batch/v1","kind":"Job","metadata":{"annotations":{},"labels":{"jobType":"database-migration"},"name":"app-raiden-migration-12-19-58-21-1...
Parallelism: 1
Completions: 1
Start Time: Wed, 21 Nov 2018 12:19:58 +0000
Pods Statuses: 0 Running / 0 Succeeded / 1 Failed
Pod Template:
Labels: controller-uid=c2fd06be-ed87-11e8-8782-080027eeb8a0
job-name=app-raiden-migration-12-19-58-21-11-2018
Containers:
app:
Image: pp3-raiden-app:latest
Port: <none>
Command:
php
artisan
migrate
Environment:
DB_HOST: local-mysql
DB_PORT: 3306
DB_DATABASE: raiden
DB_USERNAME: <set to the key 'username' in secret 'cloudsql-db-credentials'> Optional: false
DB_PASSWORD: <set to the key 'password' in secret 'cloudsql-db-credentials'> Optional: false
LOG_CHANNEL: stderr
APP_NAME: Laravel
APP_KEY: ABCDEF123ERD456EABCDEF123ERD456E
APP_URL: http://192.168.99.100
OAUTH_PRIVATE: <set to the key 'oauth_private.key' in secret 'laravel-oauth'> Optional: false
OAUTH_PUBLIC: <set to the key 'oauth_public.key' in secret 'laravel-oauth'> Optional: false
Mounts: <none>
Volumes: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 2m job-controller Created pod: app-raiden-migration-12-19-58-21-11-2018-pwnjn
Warning BackoffLimitExceeded 2m job-controller Job has reach the specified backoff limit
You can view the logs of the pod using the command.
kubectl logs PODNAME -c CONTAINERNAME -n NAMESPACE
You can get the pods of this job by running:
kubectl get pods --selector=job-name=app-raiden-migration-12-19-58-21-11-2018
but in this case i think you won't find any pods because no pod is created, and as mentioned in this link: Job Termination and Cleanup, pods are not deleted after jobs completion. But still i don't know how you can find out why that pod failed to run (but if there is a pod and you could find it, you can find the logs of that pod). I had the same mistake and i ran the job again and job worked successfully.
EDIT:
I just see the events of your job, your job has made pod and you can see the logs of your pod by your pod name as I mentioned above.
One other approach:
kubectl describe job $JOB
kubectl logs $POD
Use this command to show all pods, even failed ones:
kubectl get pods -A
And then a pod will be shown like below:
app-raiden-migration-12-19-58-21-11-2018-pwnjn 0/1 Error 0 6m
Then use: kubectl logs lighthouse-timer-1553800620-pwssv