当前位置: 首页 > article >正文

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


http://www.kler.cn/a/531424.html

相关文章:

  • Spring的AOP的JoinPoint和ProceedingJoinPoint
  • 冷启动+强化学习:DeepSeek-R1 的原理详解——无需监督数据的推理能力进化之路
  • 音视频入门基础:RTP专题(5)——FFmpeg源码中,解析SDP的实现
  • css三角图标
  • 问deepseek,如何看待ai降低学习成本而导致软件开发岗位需求降低,和工资下降。 软件从业人员何去何从?
  • TensorFlow简单的线性回归任务
  • 深度学习 Pytorch 基础网络手动搭建与快速实现
  • 【Linux】24.进程信号(1)
  • Array.prototype 方法在复杂数据处理中的应用
  • 深入解析 posix_spawn():高效的进程创建方式(中英双语)
  • Spark的基本概念
  • 如何选择Spring AOP的动态代理?JDK与CGLIB的适用场景?
  • 42【文件名的编码规则】
  • linux运行级别
  • 深入理解 `box-sizing: border-box;`:CSS 布局的利器
  • 【LLM】旋转位置编码 RoPE
  • 深入探讨 cuDF:GPU 加速的数据处理库
  • xmind使用教程
  • 机器学习--2.多元线性回归
  • Swoole如何处理内存泄漏
  • 【蓝桥杯】日志统计
  • 2025年2月2日(tcp_server_socket.listen(128))
  • Vue指令v-on
  • 使用EVE-NG-锐捷实现RIP
  • 语言月赛 202412【顽强拼搏奖的四种发法】题解(AC)
  • 登录认证(5):过滤器:Filter