阿里开源 k8s 事件通知服务

发布时间:2020年03月10日 阅读:68 次

背景

在 Kubernetes 开源生态中,资源监控有 metrics-serverPrometheus等,但这些监控并不能实时推送 Kubernetes 事件,监控准确性也不足。当 kubernetes 集群中发生 Pod因为 OOM 、拉取不到镜像、健康检查不通过等错误导致重启,集群管理员其实是不知道的,因为 Kubernetes 有自我修复机制,Pod宕掉,可以重新启动一个。这样让集群管理员很难立即发现服务问题。

Kubernetes 事件

Kubernetes中,事件分为两种:

例子:


$ kubectl get events

LAST SEEN   TYPE      REASON              OBJECT                                       MESSAGE
58m         Normal    ScalingReplicaSet   deployment/demo                     Scaled down replica set demo-8b85c64cb to 0
5m7s        Warning   Unhealthy           pod/demo-79844f78b8-nd5jz   Readiness probe failed: Get http://192.168.1.68:8080/healthCheck: dial tcp 192.168.1.68:8080: connect: connection refused

如何监听k8s事件并通知?

阿里云开源 Kubernetes 事件离线工具 kube-eventer,能很好的解决这个问题。

kube-eventer 简介

kube-eventer 是一个事件发射器,它将 kubernetes 事件发送到接收器(例如dingtalk,sls,kafka,微信等)。kubernetes 的核心设计概念是状态机。因此,Normal 当转移到所需状态时会有事件 Warning

kube-eventer 架构图

用法

下面是以 钉钉 做为接收器,通过钉钉机器人通知到相关人员或者相关群


支持下列通知程序

程序名称描述
dingtalk钉钉机器人
sls阿里云sls服务
elasticsearchelasticsearch 服务
honeycombhoneycomb 服务
influxdbinfluxdb 数据库
kafkakafka 数据库
mysqlmysql 数据库
wechat微信

项目地址

https://github.com/AliyunContainerService/kube-eventer


Tag:k8s
相关文章

发表评论: