kubernetes - 提取 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
解决方案
kubernetes 中有一个特性叫做jsonpath
使用此在线工具验证您的 jsonpath 是否正确:https ://jsonpath.com/
使用此在线工具轻松浏览 json 密钥,因此您无需再手动输入密钥名称):http: //jsonpathfinder.com/
所以你的命令将是:
k get events --sort-by=.metadata.creationTimestamp --jsonpath '{ .xxxxxx }'
推荐阅读
- javascript - Zapier - Javascript错误的自定义函数行为
- ruby-on-rails - Backtrace 仅重试失败的行内容 rails
- javascript - 如何绕过 401 未经授权的错误?
- c# - 如何在死锁情况下杀死任务
- python - 如何在 Python 中从 Web Scraping 构造数据框
- authentication - 如何将 Okta 添加人员详细信息捕获到我们的公司数据库中?
- python - Python Azure API 在创建虚拟机时抛出无法打印的异常
- sql - 在 Groovy 中将 null 传递给绑定参数
- vba - 递归文件搜索脚本只返回第一个子文件夹的文件
- docker - Nginx 不能在 Docker 中包含 options-ssl-nginx.conf