是否可以使用向下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"
类似的问题:
答案 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的所有事件