来自 pod 和部署的事件重定向到文件

时间:2021-06-16 21:27:20

标签: kubernetes kubectl

在 Kubernetes 中如何从 pod 获取事件并将部署重定向到文件?这可以通过 jsonpath 完成还是必须使用 linux/unix 命令? enter image description here

1 个答案:

答案 0 :(得分:2)

要获取事件,您可以使用 kubectl get eventsgrep 作为资源类型。

kubectl get events |grep 'pod/<pod-name>'

或者(对我来说很复杂)

如果您想使用jsonpath,我刚刚构建了两列,您可以根据需要构建。

 kubectl get events -o jsonpath='{range .items[*]}{.firstTimestamp}{"\t"}{.reason}{"\n"}{end}'
<nil>   Scheduled
2021-06-16T21:47:44Z    Pulling
2021-06-16T21:47:45Z    Pulled
2021-06-16T21:47:45Z    Created
2021-06-16T21:47:46Z    Started
2021-06-16T21:47:44Z    MissingClusterDNS
2021-06-16T21:48:46Z    Killing
<nil>   Scheduled
2021-06-16T21:49:02Z    Pulling
2021-06-16T21:49:03Z    Pulled
2021-06-16T21:49:04Z    Created
2021-06-16T21:49:04Z    Started
2021-06-08T20:27:17Z    MissingClusterDNS
2021-06-08T20:27:22Z    MissingClusterDNS
2021-06-08T20:27:17Z    MissingClusterDNS
2021-06-16T21:49:02Z    MissingClusterDNS
2021-06-08T20:27:20Z    MissingClusterDNS

例如,我在以下命令中添加了第三列 message

kubectl get events -o jsonpath='{range .items[*]}{.firstTimestamp}{"\t"}{.reason}{"\t"}{.message}{"\n"}{end}'

但如果您处于 shell 环境中,grep-ing 会更简单。