核心架构与组件
掌握 K8s 的整体架构与分层
理解控制平面与工作节点各组件的作用
理清一个 Pod 从创建到运行的完整流程
核心讲解
Kubernetes 采用控制平面(Master / Control Plane) + 工作节点(Worker Node)的分布式架构,控制平面负责全局管理调度,工作节点负责运行实际业务容器。
(1)控制平面(Control Plane)
集群的大脑,负责全局决策、调度、管理,生产环境一般 3 节点高可用部署。
表格
组件 | 核心作用 |
|---|---|
kube-apiserver | 集群唯一入口,提供 REST API,认证鉴权,所有组件都只和它交互,是所有请求的网关 |
etcd | 集群键值数据库,保存集群所有状态、配置数据,是集群的唯一数据源 |
kube-scheduler | 调度器,负责把新 Pod 调度到合适的节点,综合资源、策略、亲和性决策 |
kube-controller-manager | 控制器管理器,运行节点、副本、端点等各类控制器,持续比对期望状态与实际状态,自动修正 |
cloud-controller-manager | 云控制器,对接云厂商 API,管理负载均衡、云盘等云资源 |
(2)工作节点(Worker Node)
运行业务容器的节点,集群的工作单元,可以水平扩展。
表格
组件 | 核心作用 |
|---|---|
kubelet | 节点代理,接收控制平面指令,管理本节点容器,保证容器正常运行,上报节点与 Pod 状态 |
kube-proxy | 网络代理,维护节点网络规则,实现 Service 的负载均衡、端口映射 |
容器运行时 | 真正运行容器的软件,如 containerd、Docker,遵循 CRI 标准 |
(3)一个 Pod 创建的完整流程
用户通过 kubectl 发送创建请求到 apiserver
apiserver 认证鉴权,将状态数据写入 etcd
scheduler 监听到未调度的新 Pod,执行调度算法,分配到对应节点
对应节点的 kubelet 收到指令,调用容器运行时创建容器,启动 Pod
kube-proxy 配置网络规则,注册服务端点
controller-manager 持续监控,保证副本数、状态始终符合预期
常见误区
控制平面运行业务容器:控制平面只做集群管理,不运行用户业务,业务都在 worker 节点
etcd 可有可无:etcd 是集群的唯一状态源,etcd 挂了整个集群就瘫痪
kube-proxy 是上网代理:是集群内部的服务网络代理,不是上网代理
K8s 只能用 Docker:Docker 只是运行时的一种,行业标准是 containerd,只要符合 CRI 标准都可以
课后练习
画图说明 K8s 的整体架构和核心组件
简述每个核心组件的具体作用
描述一个 Pod 从提交创建到运行的完整流程

