当前位置: 代码迷 >> 综合 >> Kubernetes 工作节点控制平面组件
  详细解决方案

Kubernetes 工作节点控制平面组件

热度:88   发布时间:2023-09-30 10:31:23.0

工作节点控制平面组件


工作节点是Kubernetes 集群的负责运行用户容器的载体。它可以是虚拟机,也可以是物理机。初期,社区主推虚拟机方案是为了跟虚拟云平台共存。现在随着容器技术的不断成熟,社区为了降低负载度,开始抽离虚拟化层,因此工作节点的选择方案大趋势是物理机。

一个新的Node 加入集群是非常容易的,在节点上安装kubelet、kube-proxy、容器运行时和网络插件服务,然后将kubelet 和kube-proxy 的启动参数中的API Server URL 指向目标集群的API Server 即可。API Server 在接受kubelet 的注册后,会自动将此节点纳入当前集群的调度范围,这样Pod 就能调度该节点了。

 

 

kubelet


kubelet 是运行在每个节点上的负责启动容器的重要的守护进程。在启动时,Kubelet进程加载配置参数,向API Server 处创建一个Node 对象来注册自身的节点信息,例如操作系统、Kernel 版本、IP 地址、总容量(Capacity)和可供分配的容量(Allocatable Capacity)等。

然后kubelet 须定时(默认值是每10s 通过NodeStatusUpdateFrequency 设置参数)向API Server 汇报自身情况,例如磁盘空间是否用满、CPU Memory 是否有压力,自身服务是否Ready 等,这些信息都将被调度器使用,在调度Pod 时给节点打分。如果kubelet停止汇报这些信息,那么NodeLifecycle 控制器将认为kubelet 已经不能正常工作,会将Node 状态设置为Unknown,并在一段时间后开始驱逐其上的Pod 对象。

节点上的 Pod 来源有两个:普通 Pod 和静态 Pod (Static Pod)。普通 Pod ,也就是通过 APIServer 创建的 Pod ,是被 Scheduler 调度到该节点上的。静态 Pod 是不经过 API Server 的,kubelet 通过观测本地目录或者 HTTP URL 下的定义文件所创建的 Pod 。静态 Pod 始终绑定到kubelet 所在的节点上。

 

 

 

  相关解决方案