kubectl事件从何而来?我该如何导出这些?

时间:2018-07-27 12:40:58

标签: kubernetes

这些存储在哪里?是否有推荐的方法将其导出以进行分析?

我指的是来自kubectl get events的数据。

1 个答案:

答案 0 :(得分:1)

  

这些存储在哪里?

如果您运行kubectl get events --v=9,将会看到后面有实际的api调用:

GET /api/v1/namespaces/default/events?limit=500

您可以使用api来提取详细信息,如the official documenatation中所述。

对于存储,它们保存在etcd集群中。作为discussion about events的摘录,这里与您的问题有关:

Kubernetes only use etcd's lease API for creating event objects.
Event objects' lease lasts for 1 hour and doesn't need good precision.

您现在有两条解决办法:

  • 使用api拉事件(出于分析目的,我可能会这样做,因为这实际上是由kubectl命令传递的)
  • 查询etcd集群(如果您想对数据处理进行更精细的控制)