如何在Pod规格Yaml文件中获取Pod创建时间

时间:2020-09-08 14:19:16

标签: kubernetes kubernetes-pod

是否可以使用向下API或pod规范中的任何其他方式获取时间戳

在此处https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/#capabilities-of-the-downward-api进行了检查,但找不到时间戳。

下面是yaml的示例部分,我要在其中生成带有时间戳的输出文件。

          args:
            - "audit"
            - "--config"
            - "/opt/app/app-config/app.yaml"
            - "--format"
            - "json"
            - "--output-file"
            - "/var/log/app/app-$(date +%s).log"

类似的问题:

1 个答案:

答案 0 :(得分:0)

如@David Maze的评论中所述

您可以将其包装在sh -c调用中,以使Shell进行子进程扩展。


这里的另一种方法是使用kubectl set

您可以使用

kubectl set env deployment/deployment-name TIMESTAMP=$(kubectl get pod pod-name -o jsonpath='{.metadata.creationTimestamp}')

这会将creationTimestamp值设置为带有TIMESTAMP名称的env变量。

您可以使用kubectl describe pod pod-name检查结果并搜索环境。


您还可以使用

kubectl -n namespace get pod pod_name -o jsonpath="{range .status.conditions[*]}{.type}{','}{.lastTransitionTime}{'\n'}{end}"

获取带有时间戳的pod的所有事件