Pod控制器类型
Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:
- 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建
- 控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建
> 什么是Pod控制器
> Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。
在kubernetes中,有很多类型的pod控制器,每种都有自己的适合的场景,常见的有下面这些:
- - ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代
- - ReplicaSet:保证副本数量一直维持在期望值,并支持pod数量扩缩容,镜像版本升级
- - Deployment:通过控制ReplicaSet来控制Pod,并支持滚动升级、回退版本,目前使用最多得
- - Horizontal Pod Autoscaler:可以根据集群负载自动水平调整Pod的数量,实现削峰填谷
- - DaemonSet:在集群中的指定Node上运行且仅运行一个副本,一般用于守护进程类的任务
- - Job:它创建出来的pod只要完成任务就立即退出,不需要重启或重建,用于执行一次性任务
- - Cronjob:它创建的Pod负责周期性任务控制,不需要持续后台运行,通常用来执行定时任务
- - StatefulSet:管理有状态应用