首页 > 解决方案 > 提取 k8s 事件特定列

问题描述

我正在排除活性探针故障。我可以使用这种方法从 k8s 事件中提取特定条目

k get events --sort-by=.metadata.creationTimestamp | grep Liveness

我只想获取导致问题的 pod。
我正在考虑使用管道进行切割,但我不确定应该使用哪个分隔符来获取特定列。

在哪里可以找到与用于打印 kubectl 输出的特定 k8s 资源(事件)相关的分隔符?

任何其他建议表示赞赏

到目前为止,更新这些是满足我特定需求的最佳选择(不使用额外工具):

k get events -o jsonpath='{range .items[*]}{.involvedObject.name}/{.involvedObject.namespace}: {.message}{"\n"}{end}' | grep Liveness

k get events -o custom-columns=POD:.involvedObject.name,NS:.involvedObject.namespace,MGG:.message | grep Liveness

标签: kuberneteskubectl

解决方案


kubernetes 中有一个特性叫做jsonpath

使用此在线工具验证您的 jsonpath 是否正确:https ://jsonpath.com/

使用此在线工具轻松浏览 json 密钥,因此您无需再手动输入密钥名称):http: //jsonpathfinder.com/

所以你的命令将是:

k get events --sort-by=.metadata.creationTimestamp --jsonpath '{ .xxxxxx }' 

在此处输入图像描述 在此处输入图像描述


推荐阅读