RC,RS控制器
创建pod副本,RS控制器比RC多了select标签选择功能
Deployment控制器
适用于无状态服务
比RS多了:
动态扩缩容
版本回滚和升级
暂停和继续Deployment
DaemonSet控制器
DaemonSet确保所有节点运行一个Pod副本
指定节点运行一个Pod副本,通过标签选择器或者节点亲和性
新增节点会自动在节点增加一个Pod
移除节点时垃圾回收机制会自动清理Pod
DaemonSet适用于每个node节点均需要部署一个守护进程的场景,常见的场景例如:
日志采集agent,如fluentd或logstash
监控采集agent,如Prometheus Node Exporter,Sysdig Agent,Ganglia gmond
分布式集群组件,如Ceph MON,Ceph OSD,glusterd,Hadoop Yarn NodeManager等
k8s必要运行组件,如网络flannel,weave,calico,kube-proxy等
StatefulSet控制器
适用于有状态,数据库之类
稳定的、唯一的网络标识符。
稳定的、持久的存储。
有序的、优雅的部署和缩放。
有序的、自动的滚动更新。
HPA控制器
Horizontal Pod Autoscaling,简称HPA,是Kubernetes中实现POD水平自动伸缩的功能。根据资源利用率自动调整service中Pod数量,实现Pod水平自动缩放。
Job,CronJob控制器
Job执行批处理任务,仅执行一次任务,保证任务的一个或多个Pod成功结束。
CronJob
一个 CronJob 对象就像 crontab (cron table) 文件中的一行,它用 Cron 格式进行编写,并周期性地在给定的调度时间执行 Job。