Skip to content

0x0034/kube-eventer

This branch is 2 commits ahead of, 9 commits behind AliyunContainerService/kube-eventer:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

若尘若尘
若尘
and
若尘
May 8, 2023
0026520 · May 8, 2023
Aug 6, 2019
Apr 10, 2020
Mar 16, 2020
Nov 4, 2022
Jul 5, 2019
Feb 9, 2023
Nov 28, 2022
Aug 6, 2019
Jul 31, 2020
Jan 18, 2023
May 8, 2023
Jan 10, 2023
May 25, 2020
Aug 30, 2021
Oct 30, 2019
Feb 21, 2020
Apr 19, 2020
Jul 5, 2019
Jun 1, 2020
Jul 6, 2019
Nov 28, 2022
Jan 10, 2023
May 8, 2023
May 8, 2023

Repository files navigation

kube-eventer

kube-eventer emit kubernetes events to sinks

Overview

License Build Status Codecov

kube-eventer is an event emitter that sends kubernetes events to sinks(.e.g, dingtalk,sls,kafka and so on). The core design concept of kubernetes is state machine. So there will be Normal events when transfer to desired state and Warning events occur when to unexpected state. kube-eventer can help to diagnose, analysis and alarm problems.

Architecture diagram

Architecture diagram of kube-eventer

Usage

Here is a demo of kube-eventer with dingtalk sink. Dingtalk is an All-in-one Mobile Workplace like slack. Dingtalk sink can get kubernetes events from eventer. You can do chatops with it. Try it following the steps below.

  1. Get dingtalk token Add a chatbot in a dingtalk group and get bot token.

  1. Install eventer and configure sink
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: kube-eventer
  name: kube-eventer
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kube-eventer
  template:
    metadata:
      labels:
        app: kube-eventer
      annotations:	
        scheduler.alpha.kubernetes.io/critical-pod: ''
    spec:
      dnsPolicy: ClusterFirstWithHostNet
      serviceAccount: kube-eventer
      containers:
        - image: registry.aliyuncs.com/acs/kube-eventer-amd64:v1.2.0-484d9cd-aliyun
          name: kube-eventer
          command:
            - "/kube-eventer"
            - "--source=kubernetes:https://kubernetes.default"
            ## .e.g,dingtalk sink demo
            - --sink=dingtalk:[your_webhook_url]&label=[your_cluster_id]&level=[Normal or Warning(default)]
          env:
          # If TZ is assigned, set the TZ value as the time zone
          - name: TZ
            value: "Asia/Shanghai" 
          volumeMounts:
            - name: localtime
              mountPath: /etc/localtime
              readOnly: true
            - name: zoneinfo
              mountPath: /usr/share/zoneinfo
              readOnly: true
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 250Mi
      volumes:
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: zoneinfo
          hostPath:
            path: /usr/share/zoneinfo
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kube-eventer
rules:
  - apiGroups:
      - ""
    resources:
      - configmaps
      - events
    verbs:
      - get
      - list
      - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kube-eventer
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kube-eventer
subjects:
  - kind: ServiceAccount
    name: kube-eventer
    namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-eventer
  namespace: kube-system
  1. View events in dingtalk

Sink Configure

Supported Sinks:

Sink Name Description
dingtalk sink to dingtalk bot
sls sink to alibaba cloud sls service
elasticsearch sink to elasticsearch
honeycomb sink to honeycomb
influxdb sink to influxdb
kafka sink to kafka
mysql sink to mysql database
wechat sink to wechat
webhook sink to webhook
mongodb sink to mongodb

Contributing

Please check CONTRIBUTING.md

You can also ask for help in our Dingtalk group. dingtalk group1 (full): 30612594 dingtalk group2: 5605020816

License

This software is released under the Apache 2.0 license.

About

kube-eventer emit kubernetes events to sinks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 95.7%
  • Shell 3.6%
  • Other 0.7%