我可以使用什么kubectl命令来获取按特定字段排序的事件,并仅打印事件的特定详细信息?

sur*_*upa 6 go-templates kubernetes kubectl

我只需打印Kubernetes Events的特定字段,按特定字段排序.

这是为了帮助我收集有关我的命名空间的遥测和分析

我怎么能这样做?

sur*_*upa 10

以下命令执行.

它打印按创建时间戳排序的事件.

它还用户go-template过滤掉kubernetes-event对象的特定字段.

kubectl get events  --sort-by='.metadata.creationTimestamp'  -o 'go-template={{range .items}}{{.involvedObject.name}}{{"\t"}}{{.involvedObject.kind}}{{"\t"}}{{.message}}{{"\t"}}{{.reason}}{{"\t"}}{{.type}}{{"\t"}}{{.firstTimestamp}}{{"\n"}}{{end}}'
Run Code Online (Sandbox Code Playgroud)


Tim*_*ion 7

我正在使用以下命令在时间戳后对其进行排序

kubectl get event --all-namespaces --sort-by='.metadata.managedFields[0].time'
Run Code Online (Sandbox Code Playgroud)

为了过滤掉信息,您当然可以将其与@suryakrupa 描述的 go-template 或@Chris Stryczynski 描述的 jq 结合使用


小智 6

kubectl get events --sort-by='.lastTimestamp'

  • 如果这引发错误,请尝试“kubectl get events --sort-by=.metadata.creationTimestamp”。 (5认同)

Chr*_*ski 5

如果您不介意将输出视为 JSON:

kubectl get event -o json | jq '.items |= sort_by(.lastTimestamp)'
Run Code Online (Sandbox Code Playgroud)

这需要jq。