在 Kubernetes CustomResourceDefinitions
(CRD) 中,我们可以指定additionalPrinterColumns
,(例如)kubectl get
与 CRD 一起使用。列的值通常使用 . 从 CRD 的状态中提取jsonPath
。从Kubernetes 文档中,我们还可以看到时间戳以用户友好的方式呈现(例如,5m或2h,表示从该时间戳到现在的持续时间):
additionalPrinterColumns:
- name: Duration
type: date
jsonPath: .status.completitionTimestamp
Kubernetes Job资源是资源的一个示例,它不仅显示了它何时存在,而且还显示了它的运行时间:
NAME COMPLETIONS DURATION AGE
hello-4111706356 0/1 0s
hello-4111706356 0/1 0s 0s
hello-4111706356 1/1 5s 5s
我正在寻找为我的 CRD 构建类似的东西,即:以相同的方式显示两个时间戳之间的持续时间。更具体地说,我想获得两个状态字段之间的持续时间,例如由 Kubernetes 评估和格式化.status.startTimestamp
。.status.completitionTimestamp
由于在Job资源中完成了完全相同的事情,我想知道这是否可能,或者这是否是内置的特殊行为kubectl
?