在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集群管理的核心部分,确保集群资源能够按需创建、更新、调度和销毁,以维持集群整体的状态稳定性和可靠性。

相关推荐
Henry-SAP6 小时前
SAP MRP失效根源业务角度解析
人工智能·云原生·sap·erp
江湖有缘11 小时前
3款开源绘图工具整理合集,可Docker一键部署!
docker·容器·开源
nhdh13 小时前
Higress:AI时代云原生网关新选择
人工智能·云原生
小匠石钧知15 小时前
06_在k8s集群中安装MetalLB实现LoadBalancer
云原生·容器·kubernetes·service·loadbalancer·metallb
troy1281 天前
阿里云 vs 谷歌云:Kubernetes 部署深度对比分析
阿里云·kubernetes·云计算
谢亮_vipxieliang1 天前
容器排障实战手册:从日志到内核的分层排障
docker·云原生·容器·eureka
wzq11_6661 天前
Kubernetes集群——Pod篇
云原生·容器·kubernetes
wzq11_6662 天前
Kubernetes集群——命令篇
云原生·容器·kubernetes
小白的码BUG之路2 天前
Docker -- 构建ruoyi-gateway镜像
docker·容器·gateway
小白的码BUG之路2 天前
Docker -- 构建ruoyi-system镜像
运维·docker·容器