钱柜娱乐客户端

Kubernetes事件离线工具kube-eventer正式开源

钱柜娱乐手机登录 ?

  监控是保障系统稳定性的重要组成部分,在Kubern在开源生态系统中,资源类的监控工具和组件都处于盛开状态。除了社区自己的孵化,还有毕业生,等等,开发人员有很多选择。但是,仅监视资源类是不够的,因为资源监视存在两个主要缺点:

实时性和监控准确性不足

大多数资源监控都是基于数据离线的推送或拉取模式,因此通常每隔一段时间收集一次数据,如果时间间隔中存在一些故障或异常,并且当下一个收集点到达时它将被恢复,他们中的大多数收购系统将吞下这个例外。对于毛刺的场景,阶段采集将自动切割峰值。这导致精度降低。

监控场景的覆盖范围不足

某些监控方案无法通过资源表示。例如,Pod启动和停止。资源利用率无法轻易衡量。因为当资源为0时,我们无法区分这种状态的真正原因。

基于以上两个问题,Kubernetes如何解决?

Kubernetes是作为原始云的平台实现的。从架构设计中,接口和实现完全分离和插入。状态机是整体设计原则。通过设置所需状态,执行状态转换,检查和补偿状态。接管资源生命周期的方法。

状态之间的转换产生相应的转换事件。在Kubernetes中,有两种类型的事件,一种是警告事件,表示产生事件的状态转换是在非预期状态之间生成的;另一个是正常事件表示预期到达状态与当前达到的状态一致。我们以Pod生命周期为例。创建Pod时,Pod将首先进入Pending状态并等待镜像被拉出。拍摄图像并通过运行状况检查后,Pod状态将更改为“正在运行”。生成正常事件。如果在操作期间,Pod由于OOM或其他原因而崩溃,并进入“失败”状态,并且此状态是意外的,则将在Kubernetes中生成警告事件。因此,对于这种情况,如果我们可以监控事件的发生,我们可以非常及时地看到一些容易被资源监控忽略的问题。

标准的Kubernetes事件具有几个重要属性,可以让您更好地诊断和警告问题。

命名空间:生成事件的对象所在的命名空间。

种类:绑定事件的对象的类型,例如:Node,Pod,Namespace,Componenet等。

时间戳:事件发生的时间等。

原因:此事件的原因。

消息:事件的详细描述。

其他信息

通过该事件的机制,我们可以丰富Kuernetes的监控尺寸和准确性,弥补其他监控解决方案的不足。

对于Kubernetes事件监视场景,Kuernetes社区在Header中提供了一个简单的事件离线功能,随后放弃了Heapster,相关功能也被归档。为了弥补事件监控场景的不足,阿里巴巴云容器服务发布并开放了kubernetes事件离线工具。支持离线kubernetes事件到钉子机器人,SLS日志服务,Kafka开源消息队列,InfluxDB时序数据库等。

在v1.0.0的官方发行版中,进行了以下增强。

Nail插件支持过滤Namespace和Kind

支持使用NPD插件进行集成和部署

优化SLS插件的数据脱机性能

修复InfluxDB插件启动参数的失效

修复Dockerfile安全漏洞

共有11个其他功能修复

典型情景分析:

使用指甲进行事件警报

使用SLS进行事件警报

异常检测和事件警报可以与NPD一起执行,使用容器服务的开发人员可以直接在应用程序目录中使用HelmChart进行部署。

项目开源地址:

作者:莫源

阅读原文

本文是云栖社区的原创内容,未经许可,不得转载。