Kubernetes 获取已完成作业的事件



我们在晚上安排的 cronjob 已正确启动,但映像本身的运行时间比计划的要晚得多。我们预计拉取映像或从群集请求资源时出现问题。通常我可以在kubectl describe job-name输出的事件部分看到此类错误。在本节中,我可以看到诸如pull image create container等事件。但在作业完成后,不再显示任何事件。

是否可以查看已完成作业的这些事件?

还是有另一种方法可以调查此类问题?

存储事件的问题不仅仅是 cronjobs。默认情况下,Kubernetes 中的事件只存储 1 小时(--event-ttl 标志表示 kube-apiserver(。这意味着,如果你的 cronjob 在两个小时前运行 - 你不会在"kubectl describe"中看到事件。

为了保存事件以供以后调查,您需要将它们导出到某个地方。例如,Google Kubernetes Engine 将事件存储到 Stackdriver 中。对于 vanilla Kubernetes,您可以使用 event_exporter 或 Elasticsearch 将事件存储在 Prometheus 中。这能回答你的问题吗?

相关内容