【kubernetes/k8s原始碼分析】kube-apiserver的go-restful框架使用
阿新 • • 發佈:2018-11-09
go-restful框架
github: https://github.com/emicklei/go-restful
三個重要資料結構
1. 初始化
路徑pkg/kubelet/kubelet.go中函式NewMainKubelet
klet.livenessManager = proberesults.NewManager()
// NewManager creates and returns an empty results manager. func NewManager() Manager { return &manager{ cache: make(map[kubecontainer.ContainerID]Result), updates: make(chan Update, 20), } }
runtime, err := kuberuntime.NewKubeGenericRuntimeManager( kubecontainer.FilterEventRecorder(kubeDeps.Recorder), klet.livenessManager, seccompProfileRoot, containerRefManager, machineInfo, klet, kubeDeps.OSInterface, klet, httpClient, imageBackOff, kubeCfg.SerializeImagePulls, float32(kubeCfg.RegistryPullQPS), int(kubeCfg.RegistryBurst), kubeCfg.CPUCFSQuota, kubeCfg.CPUCFSQuotaPeriod, runtimeService, imageService, kubeDeps.ContainerManager.InternalContainerLifecycle(), legacyLogProvider, klet.runtimeClassManager, )
klet.probeManager = prober.NewManager(
klet.statusManager,
klet.livenessManager,
klet.runner,
containerRefManager,
kubeDeps.Recorder)