k8s中的kubelet

pod是调度单位,但是其实操作container是kubelet

层级 角色 作用
Scheduler Kubernetes 调度器 负责 Pod 级别,决定 Pod 应该运行在哪个 Node 上(调度决策)
kubelet Node 上的代理 负责容器级别,在 Node 上创建、启动、监控和停止容器,确保 Pod 按 Spec 正常运行

kubelet 职责和操作

kubelet 是 Kubernetes 节点上的核心组件,负责将 Pod Spec 转化为实际运行的容器,并保证节点和 Pod 的健康状态。


1. Pod 生命周期管理

  • 监听 API Server 中属于本节点的 Pod 对象
  • 根据 Pod Spec 创建、启动、停止容器
  • 监控容器状态,异常时重启容器(符合 Pod 的 RestartPolicy)

2. 容器运行时交互

  • 通过 CRI(Container Runtime Interface) 与容器运行时(Docker、containerd、CRI-O 等)交互
  • 拉取镜像、启动容器、删除容器
  • 设置容器的网络和存储卷

3. 健康检查

  • 执行 livenessProbe:检测容器是否存活,失败时重启
  • 执行 readinessProbe:检测容器是否准备好服务流量
  • 执行 startupProbe(可选):容器启动慢时保证不被过早杀掉

4. 节点和资源管理

  • 汇报节点状态(CPU、内存、磁盘、网络)到 API Server
  • 管理节点上的资源使用和限制
  • 协助实现 QoS、Eviction(驱逐)策略

5. 卷与网络管理

  • 挂载和卸载 Pod 所需的 Volume
  • 配置 Pod 网络(与 CNI 插件协作)
  • 支持 HostPath、PVC、ConfigMap、Secret 等卷类型

6. 日志和事件管理

  • 收集容器日志,供 kubectl logs 查询
  • 上报 Pod 事件和状态到 API Server

总结

kubelet 是节点上的"执行与监管者",把 Pod Spec 转化为实际容器,并持续监控节点和容器的健康状态。

相关推荐
vortex520 小时前
Docker 逃逸常见利用方式
运维·docker·容器
0wioiw020 小时前
Docker(Portainer)
运维·docker·容器
能不能别报错21 小时前
k8s的CICD流水线环境搭建实验(containerd版)
云原生·容器·kubernetes
༺๑Tobias๑༻21 小时前
国内可用的DOCKER 镜像源
运维·docker·容器
杰克逊的日记21 小时前
k8s是怎么管理GPU集群的
java·容器·kubernetes·gpu
忍冬行者21 小时前
k8s的ETCD故障处理
容器·kubernetes·etcd
2301_8107463121 小时前
CKA冲刺40天笔记 - day23 Kubernetes RBAC Explained - Role Based Access Control
笔记·kubernetes
Yyyy4821 天前
k8s部署wordpress
云原生·容器·kubernetes
一周困⁸天.1 天前
K8S-Ingress资源对象
云原生·容器·kubernetes
2301_810746311 天前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl