Kubernetes 控制器(Controller)详解【20260530】002篇

Kubernetes 控制器(Controller)详解【20260530】002篇

文章目录

  • Kubernetes 控制器详解
    • 一、核心概念
      • 1. 工作原理:调谐循环
      • 2. 控制器分类
    • 二、常用原生控制器(重点)
      • 1. Deployment(最常用,无状态应用)
        • 作用
        • 核心能力
        • 典型使用场景
        • 极简示例
      • 2. ReplicaSet(副本集)
        • 作用
        • 特点
      • 3. StatefulSet(有状态应用)
        • 作用
        • 三大核心特性
        • 典型场景
      • 4. DaemonSet(节点守护进程)
        • 作用
        • 场景
        • 两种更新策略
      • 5. Job & CronJob(任务类控制器)
        • (1)Job
        • (2)CronJob
      • 6. HPA(Horizontal Pod Autoscaler 水平Pod自动扩缩容)
        • 作用
        • 工作流程
    • 三、其他内置控制器(辅助)
    • 四、控制器层级关系(调用链路)
    • 五、核心对比表
    • 六、关键总结
    • 七、常用排查命令

Kubernetes 控制器详解

K8s 控制器(Controller)是控制平面核心组件,本质是循环调谐(Reconciliation Loop):持续对比「期望状态」和「集群实际状态」,自动修正差异,保证资源始终符合定义。

一、核心概念

1. 工作原理:调谐循环

  1. 监听(Watch):监听 API Server 资源变化(创建/删除/修改)
  2. 对比:拿yaml 期望状态vs集群当前状态
  3. 调谐:不一致则执行操作,拉回至期望状态
  4. 循环:永久循环,实现自愈、扩缩容、滚动更新

2. 控制器分类

  • 内置控制器:K8s 原生,运行在kube-controller-manager
  • 自定义控制器:CRD + Operator,扩展业务能力

二、常用原生控制器(重点)

1. Deploy