启动篇-05PLEG

PLEG 的创建

pkg/kubelet/kubelet.go
func NewMainKubelet(...) (*Kubelet, error) {
	...
	klet.pleg = pleg.NewGenericPLEG(klet.containerRuntime, eventChannel, genericRelistDuration, klet.podCache, clock.RealClock{})
	...
}

NewGenericPLEG

pkg/kubelet/pleg/generic.go
// NewGenericPLEG 实例化一个新的 GenericPLEG 对象并返回它  
func NewGenericPLEG(runtime kubecontainer.Runtime, eventChannel chan *PodLifecycleEvent,  
   relistDuration *RelistDuration, cache kubecontainer.Cache,  
   clock clock.Clock) PodLifecycleEventGenerator {  
   return &GenericPLEG{  
      relistDuration: relistDuration,  
      runtime:        runtime,  
      eventChannel:   eventChannel,  
      podRecords:     make(podRecords),  
      cache:          cache,  
      clock:          clock,  
   }  
}

PLEG 的启动

PLEG.Start

PLEG.Relist

最后更新于

这有帮助吗?