List of Kubernetes status conditions for jobs?

时光怂恿深爱的人放手 提交于 2019-12-10 16:13:24

问题


Is there any resource out there that gives an overview of all the possible status conditions a kubernetes job can have?

I'm wondering because I would like to check, when I run a job if it is already running and if so, exit the new job.

I came across until kubectl get jobs myjob -o jsonpath='{.status.conditions[?(@.type=="Complete")].status}' | grep True ; do sleep 1 ; done quite a few times but I want to know if it is running, not if it is already complete. Would prefer not to wait (ha) for kubectl 1.11 wait functionality


回答1:


https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#jobcondition-v1-batch implies the only type values are “Complete” and “Failed”, and that they may have a ”True” or ”False” status.

In addition to the job status conditions array, you may also find it informative to look at the job status active count, and the startTime and completionTime if you’re just interested in whether it’s finished.




回答2:


kubectl get jobs <myjob> --namespace <mynamespae> -o jsonpath='{.status.conditions[?(@.type=="Succeeded")].status}'



回答3:


I believe this can help to get all job statuses for a given selector and after the result can be parsed in bash or CI to wait until some specific statuses:

kubectl get job -n myspace --selector=appName=myapplication -o json | jq -r '.items[] | .metadata.name + ":" + (.status.conditions[] | select(.status == "True") .type + ":" + .status)'
myapplication-job-1558097758:Complete:True
myapplication-job-1558101228:Failed:True

Also here I found another example for bash:

Wait for kubernetes job to complete on either failure/success using command line

By @ruazn2:

until [[ $SECONDS -gt $end ]] || [[ $(kubectl get jobs $job_name -o jsonpath='{.status.conditions[?(@.type=="Failed")].status}') == "True" ]] || [[ $(kubectl get jobs $job_name -o jsonpath='{.status.conditions[?(@.type=="Complete")].status}') == "True" ]]; do


来源:https://stackoverflow.com/questions/51248899/list-of-kubernetes-status-conditions-for-jobs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!