在K8S中,有哪几种控制器类型?

在Kubernetes中,控制器(Controller)是用来确保实际集群状态与所需状态保持一致的关键组件。它们监控并自动调整系统以达到预期状态,以下是Kubernetes中主要的几种控制器类型:

ReplicationController(RC)

  • 早期版本的Kubernetes中用于保证指定数量的Pod副本始终运行。
  • 后来被ReplicaSet所取代,但在一些旧版文档或遗留集群中仍然可以看到。

ReplicaSet(RS)

  • 继承了ReplicationController的功能,并且支持更灵活的标签选择器。
  • 负责确保一定数量的相同Pod副本按用户设置的数量运行。

Deployment

  • 最常用的控制器类型之一
  • 使用ReplicaSet在后台来管理Pod的复制和更新过程。
  • 提供控制更新、滚动回滚、暂停与恢复等功能,使得应用的升级更为平滑和可控。

DaemonSet

  • 确保在每个(或满足特定条件的)Node上仅运行一个Pod副本。
  • 通常用于运行那些需要在每个节点上都存在实例的系统守护进程或agent。

Job

  • 用于执行一次性任务到完成的任务控制器,比如批处理作业。
  • 当其关联的Pod成功执行到完成(如主进程退出码为0)时,Job认为工作已经完成。

CronJob

  • 类似于Linux的cron定时任务,它会按照预定的时间表定期启动Job。
  • CronJob控制器可以自动化周期性任务的执行。

StatefulSet

  • 用于管理有序的、持久化的、具有唯一标识符和稳定的网络标识符的Pod集合。
  • 适用于需要存储卷持久化、有序启动和停止以及固定网络标识符(如DNS名称)的有状态应用。

Horizontal Pod Autoscaler(HPA)

不是严格意义上的控制器,但作为一种自动扩容缩容机制,根据CPU使用率或自定义度量指标动态调整Pod副本的数量。

综上所述:

以上控制器共同构建了Kubernetes集群管理的核心部分,确保集群资源能够按需创建、更新、调度和销毁,以维持集群整体的状态稳定性和可靠性。

相关推荐
engchina1 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
Gold Steps.5 小时前
OpenEBS — 云原生 CNS 高性能存储
云原生·kubernetes·存储
大雨淅淅5 小时前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
oMcLin5 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
sun cat5 小时前
Docker详细介绍(6)
docker·容器·docker-compose
AI架构全栈开发实战笔记5 小时前
Eureka 对大数据领域服务依赖关系的梳理
大数据·ai·云原生·eureka
广州中轴线12 小时前
OpenStack on Kubernetes 生产部署实战(十三)
容器·kubernetes·openstack
晚霞的不甘12 小时前
Flutter for OpenHarmony天气卡片应用:用枚举与动画打造沉浸式多城市天气浏览体验
前端·flutter·云原生·前端框架
Tadas-Gao12 小时前
TCP粘包现象的深度解析:从协议本质到工程实践
网络·网络协议·云原生·架构·tcp
礼拜天没时间.13 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos