1. Kubernetes 宏观架构
-
核心角色划分为两类:Master 节点(管理端/控制器端)、Node 节点(业务实际运行端)
-
Master 节点数量规范:高可用场景下官方建议部署 3/5/7/9 个 Master 节点,均为大于 1 的奇数,该规范源于 RAFT 选举算法,可在保证高可用性的同时尽可能减少资源浪费
-
Node 节点特性:数量无高可用限制,可部署 1 到上百个,节点数量越多集群可承载的业务任务量越大,整体集群性能越强
2. Kubernetes 微观架构(核心组件)
2.1 Master 节点核心组件
-
API Server:
-
是整个集群的唯一交互入口,所有请求(kubectl 命令行、Dashboard 图形界面、其他集群组件请求)都统一发送至 API Server
-
采用 RESTful 接口设计风格:RESTful 是一种接口设计思想,通过同一 URL 下不同的 HTTP 方法(GET/POST/PUT/DELETE)区分操作类型(查询/新增/修改/删除),降低接口复杂度,无需记忆不同功能对应的不同 URL
-
核心作用:接收请求后校验操作权限,校验通过后将请求数据存储至后端 etcd 集群
-
etcd:
-
是 CoreOS 开发的基于 RAFT 协议的键值对(key-value)数据库,是集群的核心存储组件
-
存储整个集群的所有配置、状态信息,所有集群数据持久化保存在 etcd 中
-
Master 节点的高可用本质是 etcd 集群的高可用,多节点部署 etcd 可避免单点故障,保证集群数据不丢失
-
Scheduler(调度器):
-
核心作用是为未绑定节点的 Pod 选择最合适的 Node 进行绑定,决定承载业务容器的运行节点
-
会定期监听 API Server,获取待调度的任务,后续会单独章节讲解详细调度逻辑
-
Controller Manager(控制器管理器,旧版本称 kube-controller-manager,可理解为「集群管家」):
-
核心作用是定期检查集群运行状态,和预期状态进行比对,保障集群整体可用性
-
例如容器异常终止时,会自动创建新的容器替换,保证业务稳定运行,同时负责对 Node 节点的管理
2.2 Node 节点核心组件
-
kubelet:
-
是承上启下的核心组件,本身不直接创建容器,而是监听 API Server,获取本节点需要创建的容器任务
-
Kubernetes 属于 PaaS(平台即服务) 层,通过容器方案封装运行业务,kubelet 会调用 CRI(容器运行时) 接口(如 Docker、containerd、Podman 等)实际完成容器的创建、删除等生命周期管理
-
kube-proxy:
-
监听 API Server,处理节点上的防火墙规则、负载均衡规则,解决节点网络层面的转发、负载均衡问题,保障 Service 的网络能力正常
-
Pod 与 Container:
-
Pod 是 Kubernetes 中最小的调度单元,一个 Pod 可包含多个 Container,是实际运行业务的载体
3. Kubernetes 生态扩展模块分类
k8s 生态中除了核心组件外,还分为插件、附件两类扩展模块:
3.1 插件
-
定义:k8s 官方提供了标准扩展接口,通过接入接口即可扩展集群核心功能,属于可插拔的功能模块
-
常见插件:
-
CRI 类容器运行时:Docker、containerd、Podman 等,负责实际创建运行容器,kubelet 通过 CRI 接口调用
-
CoreDNS:提供集群内部私有域名解析服务,支持集群内服务通过域名访问,是集群内部服务发现的核心组件
-
Ingress Controller:提供七层负载均衡能力,k8s 官方默认的 Service 仅支持四层负载均衡(类似 LVS),需要七层负载均衡时可安装 Ingress Controller 扩展功能
3.2 附件
-
定义:独立于 k8s 核心组件,不属于核心组成部分,也不通过官方标准接口连接,仅作为集群的辅助管理工具存在
-
常见附件:
-
Prometheus(普罗米修斯):当前主流的监控方案,可为 k8s 集群提供完整的监控能力
-
Dashboard:官方开发的图形化管理界面,提供可视化的集群管理能力,默认不安装,可自行部署
-
Federation:提供多 Kubernetes 集群的跨集群管理能力,支持统一管理多个 k8s 集群
AI 总结
本节课系统讲解了 Kubernetes 的架构体系,明确了 Master(管理控制端)与 Node(业务运行端)的角色定位,详细梳理了 6 个核心组件的功能与协作逻辑,同时厘清了生态中「核心组件、插件、附件」三类扩展模块的定义与常见示例,帮助学习者建立对 k8s 整体架构的初步认知,为后续学习核心原理与实操打下基础。