背景
在不重启apiserver的情况下,把events导出到es中。这里选择了kubernetes-event-exporter。
GitHub地址:https://github.com/resmoio/kubernetes-event-exporter
部署
我的k8s版本是1.20.15,es版本7.10.0,这里只能选择2.1.2版本的chart,别的版本es客户端高于7.10,会导致exporter无法连接es。(经过多次尝试终于有个能用的...)
https://artifacthub.io/packages/helm/bitnami/kubernetes-event-exporter/2.1.2
下载chart包,修改values.yaml,安装。
helm pull bitnami/kubernetes-event-exporter --version 2.1.2
tar xvf kubernetes-event-exporter-2.1.2.tgz
vim values.yaml
fullnameOverride: "event-exporter"
config:
logLevel: debug
logFormat: json
kubeQPS: 100
kubeBurst: 500
maxEventAgeSeconds: 60
metricsNamePrefix: event_exporter_
receivers:
- name: "dump"
elasticsearch:
hosts:
- http://1.2.3.4:9200
username: elastic
password: elastic
index: kube-events
#indexFormat: "kube-events-{2006-01-02}"
use_ilm: false
useEventID: true
layout:
message: "{{ .Message }}"
reason: "{{ .Reason }}"
type: "{{ .Type }}"
count: "{{ .Count }}"
kind: "{{ .InvolvedObject.Kind }}"
name: "{{ .InvolvedObject.Name }}"
namespace: "{{ .Namespace }}"
component: "{{ .Source.Component }}"
host: "{{ .Source.Host }}"
#layout: {}
route:
routes:
- match:
- receiver: "dump"
helm install event-exporter -n ns .
注意这里我的es是禁止自动创建索引的,所以我禁用了ilm生命周期管理,使用kube-events这一个索引。如果es支持自动创建索引,可以使用indexFormat。
查看pod
查看日志
查看kube-events索引