kubernetes 事件时间表

2024-02-15

我希望能够在时间轴上看到 kube 集群发生的所有各种事情,包括何时发现节点已死亡、何时添加新节点、何时崩溃以及何时重新启动。

到目前为止我们发现的最好的是kubectl get event但这似乎有一些限制:

  • 它不会回溯那么远(我不确定它回溯多久。一天?)
  • 它结合了类似的事件,并按每组中最新事件的时间对结果列表进行排序。这使得不可能知道在某个时间范围内发生了什么,因为该范围内的事件可能已与该范围之外的后续事件组合在一起。

我的一个想法是编写一个 pod,它将使用 API 来监视事件流并将其记录到文件中。这可以让我们控制保留,并且我们观看时发生的事件似乎不会被合并,也解决了第二个问题。

其他人对此做了什么?


  • 我的理解是 Kubernetes 本身会删除事件,记录如下:https://github.com/kubernetes/kubernetes/blob/master/docs/design/event_compression.md https://github.com/kubernetes/kubernetes/blob/master/docs/design/event_compression.md一旦发生这种情况,就无法恢复单个事件。

    See https://github.com/kubernetes/kubernetes/issues/36304 https://github.com/kubernetes/kubernetes/issues/36304对于投诉如何丢失信息。https://github.com/kubernetes/kubernetes/pull/46034 https://github.com/kubernetes/kubernetes/pull/46034至少改进了消息。也可以看看https://github.com/kubernetes/enhancements/pull/1291 https://github.com/kubernetes/enhancements/pull/1291KEP 近期关于提高 kubectl 可用性的讨论和提案。

  • 事件保留多长时间?他们的“生存时间”显然是由 kube-apiserver 控制的--event-ttl选项,默认为 1 小时:https://github.com/kubernetes/kubernetes/blob/da53a247633/cmd/kube-apiserver/app/options/options.go#L71-L72 https://github.com/kubernetes/kubernetes/blob/da53a247633/cmd/kube-apiserver/app/options/options.go#L71-L72

    你可以提出这个。可能需要更多资源etcd——从我在 2015 年 github 的一些讨论中看到,事件 TTL 曾经是 2 天,事件是主要强调的事情etcd...

在紧要关头,也许可以从各种日志,尤其是 kubelet 日志中弄清楚之前发生了什么?

保存事件

  • Running kubectl get event -o yaml --watch到持久文件听起来像是一件简单的事情。我think当您观看事件到达时,您会看到它们已进行重复数据删除处理。

  • Heapster 可以将事件发送到一些支持的接收器:https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md

  • 事件路由器 https://github.com/heptiolabs/eventrouter可以将事件发送到各种接收器:https://github.com/heptiolabs/eventrouter/tree/master/sinks https://github.com/heptiolabs/eventrouter/tree/master/sinks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubernetes 事件时间表 的相关文章

随机推荐

  • 在AngularJS中如何使用datalist

    div div
  • 使 tkinter 窗口在全屏应用程序之上绘制

    我想知道是否有一种方法可以在全屏应用程序上绘制 tkinter 窗口 到目前为止我有这个 from tkinter import MAIN WINDOW root Tk root title Test Title root geometry
  • 如何将输出分配给 shell 脚本变量?

    如何将此结果分配给 shell 变量 Input echo 1 1 bc l Output 2 Attempts 没用 bin sh a echo 1 1 bc l echo a 您正在寻找称为命令替换的 shell 功能 cmd 替换有
  • jarsigner“只能指定一个别名”

    C Program Files Java jdk1 7 0 01 bin gt jarsigner verbose sigalg MD5withRSA digestalg SHA1 keystore Cartoons keystore Ca
  • Git如何进行分布式源代码管理?

    我是一位具有 UNIX SCCS 和 Microsoft Visual SourceSafe 经验的 Git 新手 我刚刚学习 Git 它似乎有一个巨大而痛苦的学习曲线 我已经看到 Git 删除了所有我未提交的数据文件 这让我很担心 实用程
  • 获取多个日期时间对的日期范围

    给定一个形状的日期时间数组 n 2 x np array 2017 10 02T00 00 00 000000000 2017 10 12T00 00 00 000000000 dtype datetime64 ns x有形状 1 2 但实
  • 如何在批处理文件中获取当前CPU使用率和可用内存?

    我正在创建一个简单的脚本 输出当前登录的用户 当前系统的 CPU 使用率和可用内存 我已经设法让当前用户登录 但是否也可以获得 cpu 使用率和内存 这是我到目前为止的代码 echo off for f tokens 3 delims i
  • JSON 和 SOAP WCF 服务?

    我最近将 WCF SOAP 服务转换为 REST JSON 服务 正如回复中详细说明的here https stackoverflow com questions 10232509 can i generate a service refe
  • 如何在 NHibernate 中为页面过滤器执行 SELECT DISTINCT 等效操作?

    假设您正在使用 SQL 2005 并安装了 Northwind 数据库的副本 您正在使用带有员工 浏览 页面的 ASP NET 应用程序 在页面顶部有一个 标题 过滤器 您希望在下拉列表中显示这 5 个选项 ALL 销售副总裁销售代表销售经
  • jQuery Masonry 和 Ajax 获取附加项目导致图像重叠

    这里使用 Masonry 和 Ajax 在 Wordpress 中附加项目时存在另一个图像重叠问题 第一次附加更多项目时 图像会重叠 但是 重新加载页面时 图像不再重叠 经过一些研究后我意识到这与计算图像的高度有关 从 Masonry 网站
  • Mac 版与 Github 分开安装 Git

    我已经安装了 Mac 版的 Github 我意识到我需要进入命令行来做一些事情 Mac 版 Github 中有一个选项可以安装命令行 所有这一切似乎都是在 usr local bin 中创建一个名为 Github 的别名 该别名指向 Mac
  • 如何使用material-ui框架? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我打算使用 Material UI CSS 框架 http material ui com http material ui com
  • 如何在 ASP.Net 中发送状态代码 500 并仍然写入响应?

    我有一个 ASP Net 单文件 Web 服务 ashx文件包含一个IHttpHandler实现 需要能够返回错误作为响应500内部服务器错误状态代码 在 PHP 中这是一件相对简单的事情 header HTTP 1 1 500 Inter
  • 如何配置WCF向客户端推送实时数据?

    我需要将实时更新从服务器发送到客户端 我知道WCF一般都可以做到这一点 然而 silverlight 是一个挑剔的客户 有谁知道如何配置WCF将实时更新发送到Silverlight客户端 来自配置和演练的片段将不胜感激 使用 WCF 回调
  • Ag 网格,防止表格缩放到全宽

    我有一个表格 即使其内容较少 也可以缩放到所有可用宽度 演示 https plnkr co edit 6L8bTAwkEV6R6Be4M1Qm p preview https plnkr co edit 6L8bTAwkEV6R6Be4M1
  • 存储社会安全号码

    我目前工作的公司的人力资源部门要求我提供一个系统 用于在公司数据库中存储员工的社会安全号码 这样做的原因是为了简化工资单的完成 因为我们使用内部软件来处理员工时间表 但必须与第三方软件集成来实现我们的实际工资单系统 这是一家相对较小的公司
  • ASP.Net 身份提供商请求太多信息

    我的 asp net 身份工作正常 但是 当用户登录时 Google 会询问用户是否可以提供以下信息 查看您的电子邮件地址 查看您帐户的基本信息 问题是我什至不想要这些信息 我只是想要一种独特的方式来识别用户 它确实提供了 我不希望用户认为
  • ''hello'' ++ ''world'' 在 Haskell 中不起作用

    只是想澄清一下 这是我第一天编程 我意识到这个问题是多么愚蠢 D 1 为什么不起作用 ghci gt hello world
  • 如何从泛型定义和泛型参数获取泛型类型?

    在 C 中 如何从泛型定义和泛型参数构造泛型类型 例如 var genericDefinition typeof List var genericArgument typeof string How can I get the Type i
  • kubernetes 事件时间表

    我希望能够在时间轴上看到 kube 集群发生的所有各种事情 包括何时发现节点已死亡 何时添加新节点 何时崩溃以及何时重新启动 到目前为止我们发现的最好的是kubectl get event但这似乎有一些限制 它不会回溯那么远 我不确定它回溯