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 转化为实际容器,并持续监控节点和容器的健康状态。

相关推荐
萌萌哒草头将军17 分钟前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
lbb 小魔仙4 小时前
AI + 云原生实战:K8s 部署分布式训练集群,效率翻倍
人工智能·云原生·kubernetes
Justin_194 小时前
K8s常见问题(2)
云原生·容器·kubernetes
m0_488777657 小时前
运用Docker-compose编排部署设备管理平台(包含nginx的https访问)
docker·容器·docker-compose·服务统一管理
汪碧康8 小时前
二进制kubenetes-1.34.2安装包快速部署k8s集群
云原生·容器·kubernetes·k8s·etcd·xkube
我爱学习好爱好爱8 小时前
Docker Compose部署SpringBoot2+Vue3+redis项目(Rockylinux9.6)
redis·docker·容器
tzhou644528 小时前
Docker Compose 编排与 Harbor 私有仓库
运维·docker·容器
Clarence Liu8 小时前
虚拟机与容器的差异与取舍
linux·后端·容器
汪碧康10 小时前
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
网络·云原生·容器·kubernetes·k8s·cilium·xkube
回忆是昨天里的海10 小时前
k8s暴露服务NodePort
云原生·容器·kubernetes