最近,我研究了kubernetes如何处理System OOM事件。 但是我有一个关于kubelet如何向API Server报告OOM事件的问题。
我在/kubernetes/pkg/kubelet/oom_watcher.go
中找到了OOM代码
for event := range eventChannel.GetChannel() {
glog.V(2).Infof("Got sys oom event from cadvisor: %v", event)
ow.recorder.PastEventf(ref, metav1.Time{Time: event.Timestamp}, v1.EventTypeWarning, systemOOMEvent, "System OOM encountered")
}
我知道kubelet将OOM事件写入记录器抽动kubelet init。 但是kubelet或apiserver如何消耗记录器事件?
我在哪里可以找到kubelet的代码使用事件或将其报告给apiserver?