如何通过API获取与Pod相关的事件?

Jon*_*onM 3 kubernetes

当我执行时kubectl describe <pod>,底部有一个“事件”部分,显示与该Pod相关的事件。例如,一个事件的原因为“ failedScheduling”,消息为“由于原因PodFitsResources和其他可能原因而失败”

如何查询API以返回该事件列表?

如果我致电/api/v1/namespaces/<ns>/pods/<pod_name>,它不会返回任何事件。如果尝试/api/v1/events端点,则可以指定一个labelSelector参数,但吊舱的名称不是事件的标签,尽管它在object.involvedObject.name字段中。

我可以请求整个事件流,并过滤掉客户端使我感兴趣的一些事件,但这似乎有些过分。 kubectl能够做到这一点,所以我认为一定有某种我所缺少的方式。

谢谢。

Jor*_*itt 5

我认为事件支持所涉及对象的种类和名称的fieldSelector

您还可以将kubectl的详细级别设置为8,以查看网络跟踪以查看其作用

  • 仅供参考,如果您感到好奇,它会调用`/ v1 / namespaces / &lt;ns&gt; / events`端点,其`fieldSelector`参数为`involvedObject.name = &lt;pod&gt;,involvedObject.uid = &lt;pod_uid&gt; (4认同)
  • 啊,太好了!我不知道要如何进行所有API调用的冗长技巧。解决了这个谜! (2认同)