k8s events说明
简单说明
k8s的Event事件是一种资源对象,用于展示集群内发生的情况,k8s系统中的各个组件会将运行时发生的各种事件上报给apiserver 。
可以通过kubectl get event 或 kubectl describe pod podName 命令显示事件,查看k8s集群中发生了哪些事件。
注意事项
apiserver 会将Event事件存在etcd集群中,为避免磁盘空间被填满,故强制执行保留策略:在最后一次的事件发生后,删除1小时之前发生的事件。
这里如果集群的events事件太多,会导致kube-apiserver和etcd 频繁OOM,这种情况下,我们可以通过etcdctl来删除对应的events事件来减少etcd和kube-apiserver负载
删除events
可以参考下面的命令行:
# ETCDCTL_API=3 etcdctl --key=/etc/etcd/pki/etcd-key.pem --cert=/etc/etcd/pki/etcd.pem --cacert=/etc/etcd/pki/ca.pem del /kubernetes/events/test-dev --prefix
events事件的周期配置
配置kube-apiserver.service的--event-ttl参数:
# cat /etc/systemd/system/kube-apiserver.service
......
--event-ttl=72h
......