【K8s】专题四(1):Kubernetes 控制器简介

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

Linux 专栏 | Docker 专栏 | Kubernetes 专栏


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)

【Docker】MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)


目录

一、基本概念

二、工作原理

三、常见类型

四、相关特性


一、基本概念

Kubernetes 控制器是一种特殊类型的后台进程,负责运行集群中的各种资源对象。

Kubernetes 控制器是 Kubernetes 控制平面(Control Plane)的一部分,负责监视集群状态,并确保集群的实际状态与预期状态保持一致。如果检测到任何偏差,控制器会自动采取措施来纠正这些偏差,从而实现自我修复、自我调节的集群环境。

Kubernetes 控制器是实现集群管理自动化的关键,对于希望充分利用 Kubernetes 优势的开发者和运维人员来说,理解控制器的概念和工作原理是至关重要的,本文开始将对各类常见的 Kubernetes 控制器进行专题介绍。


二、工作原理

Kubernetes 控制器通过 API Server 与 Kubernetes 集群进行通信,它们会定期查询集群的状态,并将当前状态与期望状态进行比较。如果存在差异,控制器将执行以下步骤:

  • 发现差异:控制器检测到集群的实际状态与预期状态不一致
  • 制定计划:控制器计算需要执行哪些操作来纠正这些差异
  • 执行操作:控制器通过 API Server 对集群资源进行操作,如创建、更新或删除资源对象
  • 监控结果:控制器持续监控集群状态,直到实际状态与预期状态一致
  • 反馈循环:控制器不断重复这个过程,确保集群的稳定性和可靠性


三、常见类型

Kubernetes 控制器常见类型如下:

  • Node Controller:负责监控节点的状态,处理节点故障时的响应,并在必要时进行适当的清理
  • Namespace Controller:负责管理命名空间资源的生命周期,包括创建、删除和更新命名空间
  • ResourceQuota Controller:负责控制资源配额,确保指定资源对象不会超量占用资源
  • Deployment Controller:提供应用的声明式更新能力,确保指定数量的 Pod 副本始终运行并更新
  • StatefulSet Controller:管理有状态应用的部署,提供稳定的持久化存储和唯一网络标识符
  • DaemonSet Controller:确保所有(或某些)节点上运行指定数量的 Pod 副本,通常用于运行集群守护进程
  • ReplicaSet Controller:确保 Pod 的副本数量始终符合预期,是 Deployment 控制器的底层实现
  • Service Controller:负责维护后端 Pods 与 Service 之间的连接,并提供负载均衡
  • Endpoint Controller:负责生成和维护所有 Endpoints 对象


四、相关特性
  • 自动化:控制器自动化了许多通常需要手动干预的任务,减少了人为错误
  • 弹性:通过自我修复能力,控制器确保集群在面对故障时能够快速恢复
  • 可扩展性:控制器使得管理大规模集群变得更加容易,支持应用的无缝扩展
  • 声明式管理:用户只需定义期望状态,控制器负责实现这一状态,简化了管理流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者Sun1989

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值