背景
k8s集群的worker节点作为主要的pod容器的运行节点,其上面有两个非常核心的模块组件,本文就来简单了解下
k8s工作节点主要模块
1.kublet组件,这个组件运行在工作节点上
1.1 它是一个负责这个节点所有pod运行的指挥官的角色,它可以收集这个节点上的资源使用情况,包括主机级别的和pod容器级别的,然后把这些收集的信息通过ApiServer接口写到etcd存储中
1.2 它还负责管理工作节点上已经停止运行的pod容器和无用的镜像,具体逻辑就是根据磁盘使用情况回收已经停止运行的容器实例和长时间未使用的镜像,防止工作节点的磁盘空间溢出
2.kube-proxy组件
这个组件主要是基于k8s的service和endpoint等概念提供服务发现,反向代理以及负载均衡服务,服务发现的实现主要是基于监听etcd的pod容器创建销毁事件,动态维护一份service和endpoint的动态映射关系数据,这样pod的ip变化后就会自动的更新service和endpoint的映射关系,这样pod的ip变化可以自动得到支持,此外,它还提供负载均衡的功能,当后端有多个pod时,它会对流量进行均摊。