kubernetes控制器概述
控制器是 Kubernetes 的核心,通过控制器管理器不断调谐(Reconcile),让集群实际状态向期望状态靠拢。用户在 yaml 写的是期望状态,控制器负责干活,持续对比 spec(期望)和 status(实际),不一致就执行操作修正。
工作模式:调谐循环 Reconcile Loop
- 读取资源期望状态
- 获取集群当前实际状态
- 对比两者差异
- 执行操作消除差异
- 循环监听
常用内置控制器
1. Deployment(最常用)
管理无状态应用,封装 ReplicaSet。
- 能力:滚动更新、回滚、扩缩容、版本历史保存
- 底层:Deployment → 创建 ReplicaSet → ReplicaSet 创建 Pod
- 使用场景:Web 服务、微服务,无本地数据存储
2. ReplicaSet
维护指定数量 Pod 副本,保证一定数量 Pod 正常运行。
- 几乎不直接使用,由 Deployment 自动创建
- 核心:
selector标签选择器匹配 Pod - 如果直接删 ReplicaSet,它会把关联 Pod 全部删掉
3.DaemonSet
在全部 / 指定节点上运行一个 Pod 副本
- 新节点加入集群自动部署 Pod;节点删除自动清理 Pod
- 场景:日志采集(filebeat)、监控 agent、网络插件 calico/flannel
4.Job
执行一次性任务,保证任务 Pod 成功完成。
- 任务成功结束 Pod 不会删除;失败会重启重建 Pod 直到成功
- 参数:
completions完成数,parallelism并发数 - 场景:数据备份、批量计算
5.CronJob
定时 Job,类似 Linux crontab 定时任务
- cron 表达式调度,周期性创建 Job
- 配置历史保留成功 / 失败 Job 数量
注意:集群时间要同步,避免定时不准
一、Replicaset控制器
1.建立控制器


拉伸


2.测试功能


二、deployment
1.监控

2.建立deployment控制器


发布服务


3.升级与回滚


三、版本更新管理及优化
把pod数量设定为6方便观察
1.查看更新策略信息

2.设定更新测略

3.版本更新测试

监控显示更新策略表现

四、DaemonSet

另外开启一个主机node3,并设定在初始化集群时的所有设定确保所有服务的开启
在master中重新生成集群主机注册时需要的token


当node3加入集群后会在node3中立即执行指定的pod,其原因是因为运行了daemonset
五、job控制器



六、cronjob控制器


