美文网首页
K8S控制平面组件控制器 kubelet组件

K8S控制平面组件控制器 kubelet组件

作者: 青衣敖王侯 | 来源:发表于2023-06-23 17:02 被阅读0次

1.kubelet架构


最外层是API层
中间是Manager层:probeManager为节点上的Pod做探活处理的。cAdvisor基于cgroup的技术,去获取节点上运行的应用的资源状况(它被kubelet内嵌了)
PodWorker会调用CRI(Container Runtime interface)去获取当前节点这个容器所对应的进程是否处于启动状态,如果没有启动,就启动这些容器进程。

2.kubelet管理pod的核心流程


syncLoop负责监听Pod的状态变化(这些变化其实就是一个个的Pod add事件和update事件),然后把这些事件存在UpdatePodOptions里面去,然后每个worker就会从UpdatePodOptions这个队列里面获取事件清单,然后针对每一个Pod,去进行一个syncPod的操作,syncPod操作里面最终要的一项任务就是computePodActions,如果是新的就作create操作,如果是delete事件就作删除操作,如果是hash值变了,就重新构建,真正算完了之后就会去调用CRI的接口去完成做相应的事情。
PLEG是pod lifecycle event的一个汇聚器,PLEG会往container runtime发送一个relist命令去获取当前节点上的Pod清单,然后把状态放到pod cache里面去。然后通过pod lifecycle event发回上报给API Server。

3.kubelet的总体职责

3.1 节点管理功能

3.2 Pod管理

3.2.1 Pod启动流程


kubelet启动Pod的时候,启动的不是一个容器进程,而是多个容器进程。除了启动应用的进程之外,还额外启动了一个pause的容器镜像实例(SandBoxContainer)


相关文章

  • k8s 核心组件对照nova梳理

    1. k8s 核心组件架构图 控制平面包括三个组件: kube-apiserver 资源 crud 接口 kube...

  • Kubernetes Node 二进制部署

    K8s Node 两个组件: kubelet kube-proxy 每个节点上都运行一个 kubelet 服务进程...

  • iOS开发中组件化之业务组件间通讯方式之Target-Actio

    既然是组件间通讯,这里所说的组件就是业务组件。 跳转 实际就是控制器A跳转到控制器B,控制器B作为某个组件的一个入...

  • Loadrunner脚本编写

    Loadrunner三大组件三大组件:脚本发生器、控制器、分析四大组件:脚本发生器、控制器、负载发生器、分析器 打...

  • Kubeadm init 流程

    1、引导前检查 2、生成私钥和数字证书 3、生成控制平面组件kubeconfig文件 4、生成控制平面组件mani...

  • Unity动画

    Animator(Mecanim动画系统组件) AnimatorController动画控制器(动画控制器资源相当...

  • kubernets的基本介绍

    k8s的物理结构 master master 负责管理容器的控制器,控制中心,Contol plane:控制平面 ...

  • Kubernetes 调度详解

    Kubernetes Scheduler 是 Kubernetes 控制平面的核心组件之一。它在控制平面上运行,将...

  • k8s——kubeadm 工作流程

    kubeadm 工作流程 方法: 把 kubelet 直接运行在宿主机上,然后使用容器部署其他的 k8s 组件 k...

  • SpringMVC请求流程及关键组件

    请求流程 各个组件之间解耦,只跟前端控制器DispatchServlet有联系。 组件 HandlerMappin...

网友评论

      本文标题:K8S控制平面组件控制器 kubelet组件

      本文链接:https://www.haomeiwen.com/subject/oflvydtx.html