k8s从入门到精通(九):4张图讲清楚kubelet干了哪些活

Kubelet是具体干活的组件,它接收到Apiserver为自己分配的启动容器的任务,然后拉起容器。当然如果收到销毁指令,同样会执行删除容器的操作。本地镜像也是由kubelet负责维护,配合gc机制,删除无用的镜像和容器。除此之外,它还需要定时向Apiserver上报自己的状态,一方面告知Apiserver自身还存活,另一方便将本节点上Pod状态、存储使用等信息上报到Apiserver。

kubelet 通过对接到CRI 管理容器、CNI 管理网络以及CSI管理存储。

k8s从入门到精通(九):4张图讲清楚kubelet干了哪些活

Kubelet会启动一个主线程,用于保持和Apiserver的通信,主线程不能被阻塞,否则将无法定时完成上报导致Apiserver将该节点设置为NotReady状态。在主线程之外,kubelet会启动很多协程(manager)用于检测节点状态,回收废旧资源,驱赶低优级Pod,探测Pod健康状态等。

k8s从入门到精通(九):4张图讲清楚kubelet干了哪些活

syncLoop是kubelet核心,它通过一个死循环不断接收来自Pod的变化信息,这里的pod变化的信息可能来自于apiserver、也可能来自于本地静态Pod。通过比对确定需要启动哪些容器或者杀死某些容器。各种Manger则是负责具体执行操作。

kubelet 里面的PLEG 负责同步底层运行时(譬如docker或者containerd)的状态,通过定时轮训的方式检测运行时是否正常,并生成event信息。

k8s从入门到精通(九):4张图讲清楚kubelet干了哪些活

kubelet默认集成了cadvisor 用于容器和主机的性能指标采集,但这个后续将会默认关闭。

k8s从入门到精通(九):4张图讲清楚kubelet干了哪些活


除此之外kubelet 还会提供 exec、attach 和port-forward 等接口,用户apiserver连接pod。

展开阅读全文

页面更新:2024-04-20

标签:节点   主线   拉起   底层   废旧   静态   指令   容器   性能指标   组件   入门   分配   接口   状态   操作   科技   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top