NewKubeletCommand
kubelet源码分析(一)之 NewKubeletCommand
kubelet
├── app
│ ├── auth.go
│ ├── init_others.go
│ ├── init_windows.go
│ ├── options # 包括kubelet使用到的option
│ │ ├── container_runtime.go
│ │ ├── globalflags.go
│ │ ├── globalflags_linux.go
│ │ ├── globalflags_other.go
│ │ ├── options.go # 包括KubeletFlags、AddFlags、AddKubeletConfigFlags等
│ │ ├── osflags_others.go
│ │ └── osflags_windows.go
│ ├── plugins.go
│ ├── server.go # 包括NewKubeletCommand、Run、RunKubelet、CreateAndInitKubelet、startKubelet等
│ ├── server_linux.go
│ └── server_unsupported.go
└── kubelet.go # kubelet的main入口函数1. Main 函数
2.1. 参数解析
2.1.1. 初始化参数和配置
2.1.2. 打印帮助信息和版本信息
2.1.3. kubelet config
2.1.4. dynamic kubelet config
2.2. 初始化kubeletServer和kubeletDeps
2.2.1. kubeletServer
2.2.2. kubeletDeps
2.2.3. docker shim
2.3. AddFlags
2.4. 运行kubelet
3. Run
3.1. 构造kubeDeps
3.1.1. clientConfig
3.1.2. kubeClient
3.1.3. dynamicKubeClient
3.1.4. eventClient
3.1.5. heartbeatClient
3.1.6. csiClient
3.1.7. CAdvisorInterface
3.1.8. ContainerManager
3.1.9. oomAdjuster
3.2. Health check
3.3. RunKubelet
4. RunKubelet
4.1. CreateAndInitKubelet
4.1.1. NewMainKubelet
4.1.2. PodConfig
4.2. startKubelet
4.2.1. k.Run
5. 总结
最后更新于