jsonpath kubectl中的时间运算符



I设置标签"mytime";以我的pod的timetemp格式。现在我想选择所有过期的pod?有些人这样想:

kubectl get pods -o jsonpath='{range .items[*]}{.metadata.labels.mytime<$now()}{.metadata.name}{ "n"}{end}'

但是我看到错误

error: error executing jsonpath "{range .items[*]}{.metadata.labels.mytime<$now()}{.metadata.name}{ "\n"}{end}": Error executing template: unrecognized identifier now(). Printing more information for debugging the template:
template was:
{range .items[*]}{.metadata.creationTimestamp>$now()}{.metadata.name}{ "n"}{end}
object given to jsonpath engine was: ...

如何在条件下使用时间?

kubectl -n test get deployment -o jsonpath='{.items[?(@.metadata.labels.mytime<"2020-10-08_14-15-07")].metadata.name}'

这对我来说很有用:

我现在无法得到结果,可能是因为格式不同。

kubectl get pods -o=jsonpath="{range .items[?(@.metadata.labels.mytime<="2022-12-19")]}[{.metadata.labels.mytime},{.metadata.namespace},{.metadata.name}] {end}"

最新更新