原文: https://www.huweihuang.com/kubernetes-notes/code-analysis/kubelet/kubelet-run.html
1.kubelet 主要做了什么
NewMainKubelet主要用来构造kubelet结构体,其中kubelet除了包含必要的配置和client(例如:kubeClient、csiClient等)外,最主要的包含各种manager来管理不同的任务。核心的manager有以下几种:
oomWatcher:监控pod内存是否发生OOM。podManager:管理pod的生命周期,包括对pod的增删改查操作等。containerGC:对死亡容器进行垃圾回收。imageManager:对容器镜像进行垃圾回收。statusManager:与apiserver同步pod状态,同时也作状态缓存。volumeManager:对pod的volume进行attached/detached/mounted/unmounted操作。evictionManager:保证节点稳定,必要时对pod进行驱逐(例如资源不足的情况下)。NewMainKubelet还包含了serviceLister和nodeLister来监听service和node的列表变化。
containerRuntime目前主要是docker,其中rkt已废弃。NewMainKubelet启动了dockershim grpc server来执行docker相关操作。podWorker来对pod相关的更新逻辑进行处理。2.架构涉及流程图
3.
未完待续
原文:https://www.cnblogs.com/waken-captain/p/10596014.html