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

events from from a pod and deployment redirected to a file

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

要获取事件,您可以使用 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

例如,我在下面的命令中添加了第 3 列 message

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

但是如果你在 shell 环境中,grep-ing 会更简单。