概述
koordlet 在项目中的地位相当于 kubelet在k8s中的地位,是最重要的组件。简单来说,koordlet由一系列子组件运行,有的子组件还运行plugin。
koordlet
main
func (d *daemon) Run(stopCh <-chan struct{}) {
// metricCache 自动清理过期数据
d.metricCache.Run(stopCh)
// informer 和 plugin
d.statesInformer.Run(stopCh)
// 收集数据,写入 metricCache
d.collector.Run(stopCh)
// 管理资源,资源不足时进行驱逐
d.resManager.Run(stopCh)
// 运行qos plugin
d.qosManager.Run(stopCh)
// 运行hookServer 和 podgroup qosgroup reconciler
d.runtimeHook.Run(stopCh)
}