Kube Eventer

kube-eventer

kube-eventer 获取 K8S 集群事件

1. 背景

概述

  • 什么是事件:Kubernetes 的架构设计基于状态机,不同的状态之间进行转换则会生成相应的事件,正常的状态之间转换会生成 Normal 等级的事件,正常状态与异常状态之间的转换会生成Warning等级的事件。

  • kube-eventer 组件:阿里云开源组件,用于获取 K8S 集群中事件消息,并转存至自定义中间件或存储中。(K8S 集群默认只保存1小时内事件)

  • 组件官方地址:https://github.com/AliyunContainerService/kube-eventer

部署前提与软件

名称
功能
备注

K8S 集群

应用集群

使用 minikube 测试集群

kube-eventer

收集 K8S 集群事件

集群第三方组件

Kafka / Elasticsearch / influxDB

中间件:存储事件消息

存储组件(选型 Kafka)

kube-eventer-py

从队列获取事件消息发送至 telegram 告警群组

事件消费者

2. 安装部署步骤

a) minikube 集群部署

参考:https://minikube.sigs.k8s.io/docs/start/

b) 存储中间件部署

Kafka

使用 helm 部署 Kafka

elasticsearch

c) kube-eventer 部署

  • 获取官方 YAML 资源文件进行部署

d) 从消息队列获取事件,发送至 telegram

  • telegram 机器人以及告警群组创建

参考

1、机器人创建:https://cloud.tencent.com/developer/article/1835051

2、telegram python SDK:https://github.com/python-telegram-bot/python-telegram-bot

  • Python 脚本信息

  • Dockerfile 配置

  • 打包镜像,启动验证

  • 事件消息接收验证

Last updated