我尝试使用
kubectl get jobs -o custom-columns=TIMESTAMP:.metadata.creationTimestamp,NAME:.metadata.name
但找不到“结束于”和“状态”的自定义列。
在哪里可以找到 kubectl get 和描述作业的列列表?
最佳答案
您可以使用作业的status
部分来获取所需的详细信息。
完成时间位于 .status.completionTime
中,状态位于 .status.conditions[].type
中。
kubectl get jobs dummy-xxxx-xxxx -o custom-columns=TIMESTAMP:.metadata.creationTimestamp,NAME:.metadata.name,COMPLETIONTIME:.status.completionTime,status:.status.conditions[].type
TIMESTAMP NAME COMPLETIONTIME status
2021-02-08T14:40:03Z dummy-xxxx-xxxx 2021-02-08T14:40:50Z Complete
kubectl get jobs dummy-yyyy-yyyy -o custom-columns=TIMESTAMP:.metadata.creationTimestamp,NAME:.metadata.name,COMPLETIONTIME:.status.completionTime,status:.status.conditions[].type
TIMESTAMP NAME COMPLETIONTIME status
2021-02-08T12:00:08Z dummy-yyyy-yyyy <none> Failed
请注意,Failed
作业未设置完成时间,并且已经有 bug提到了这个问题。
When a Job completes (finished successfully), its .status.completionTime will be set, and Job conditions will have one with type==Complete.
When a Job fails, Job conditions will have one with type==Failed.
关于kubernetes - 如何开始、完成时间和状态 kubernetes 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66103317/