您可以使用这两个命令来获取属于 Cronjob 的作业列表:
uid=$(kubectl get cronjob [MY-CRONJOB-NAME] --output jsonpath='{.metadata.uid}')
kubectl get jobs -o json | jq -r --arg uid "$uid" '.items | map(select(.metadata.ownerReferences[]? | .uid==$uid) | .metadata.name) | .[]'
第一个命令metadata.uid从您指定的[MY-CRONJOB-NAME]. 然后,akubectl get所有作业,并使用jq处理输出以通过.metadata.ownerReferences.uid.
如果你想要一个更简单的方法,你可以玩--custom-columns 国旗。以下示例列出了所有作业及其各自的控制器名称:
kubectl get jobs --all-namespaces -o custom-columns=NAME:.metadata.name,CONTROLLER:.metadata.ownerReferences[].name,NAMESPACE:.metadata.namespace