获课♥》jzit.top/2896/
获取ZY↑↑方打开链接↑↑
Kubernetes控制平面是集群的决策大脑,由"前门"API服务器、"记忆中枢"etcd、"智能分配器"调度器和"自动调节系统"控制器构成,通过多组件协同实现声明式基础设施管理,自动维持应用期望状态,确保百万级容器精准协作如同交响乐团。内容由DeepSeek-R1模型生成
Kubernetes 控制平面组件详解(非代码视角)
Kubernetes 控制平面是集群的大脑,负责维护集群的期望状态并做出全局决策。以下是控制平面的核心组件及其功能:
1. kube-apiserver(API 服务器)
-
功能:集群的"前门"和管理中枢
-
暴露 Kubernetes API(RESTful 接口)
-
处理所有内部组件和外部客户端的请求
-
验证和配置API对象(如Pods、Services等)
-
协调集群状态变更
-
-
特点:
-
唯一直接与 etcd 通信的组件
-
支持水平扩展以提高可用性
-
实现身份验证、授权和准入控制
-
2. etcd
-
功能:集群的"记忆中枢"
-
分布式键值存储数据库
-
持久化存储整个集群的配置和状态数据
-
保证数据一致性的CP系统(采用Raft共识算法)
-
-
特点:
-
高可用部署通常需要3或5个节点
-
定期备份至关重要
-
对性能敏感(SSD存储推荐)
-
3. kube-scheduler(调度器)
-
功能:集群的"智能分配器"
-
资源请求/限制(CPU/内存)
-
亲和性/反亲和性规则
-
数据局部性
-
硬件/软件约束
-
决定新创建的Pod应该运行在哪个Node上
-
根据资源需求、策略和约束做出调度决策
-
考虑因素包括:
-
-
特点:
-
可扩展架构(支持自定义调度器)
-
决策基于当前集群状态
-
4. kube-controller-manager(控制器管理器)
-
功能:集群的"自动调节系统"
-
Node控制器:监控Node状态
-
Replication控制器:维护Pod副本数
-
Endpoint控制器:维护Service与Pod的关联
-
Service Account控制器:管理命名空间的默认账户
-
运行各种控制器进程的守护程序,包括:
-
通过API服务器持续观察集群状态
-
驱动实际状态向期望状态收敛
-
-
特点:
-
多控制器采用松耦合设计
-
具备自愈能力的设计核心
-
5. cloud-controller-manager(云控制器管理器,可选)
-
功能:与云平台对接的"适配层"
-
Node控制器:检查云平台中节点是否已删除
-
Route控制器:在云基础设施中配置路由
-
Service控制器:管理云负载均衡器
-
Volume控制器:创建/挂载云存储卷
-
特定于云供应商的控制逻辑
-
包含的控制器:
-
-
特点:
-
使K8s能利用云平台特性
-
解耦核心代码与云供应商代码
-
控制平面组件协作流程示例(无代码):
-
用户通过kubectl向kube-apiserver提交部署请求
-
apiserver验证请求并将配置写入etcd
-
scheduler通过apiserver获取未调度的Pod,选择合适Node并更新etcd
-
kubelet(工作节点组件)通过apiserver发现需要运行的Pod
-
控制器管理器持续监控,确保实际状态与etcd中声明的期望状态一致
高可用部署特点:
-
多实例部署:apiserver可水平扩展,其他组件通过领导者选举机制避免冲突
-
分层架构:前端可通过负载均衡器暴露多个apiserver实例
-
状态分离:只有etcd需要保持数据一致性,其他组件可无状态运行
这些组件共同构成了Kubernetes的决策和协调中心,使集群能够自动维持应用的期望状态,实现声明式的基础设施管理。