集群架构与核心组件
约 613 字大约 2 分钟
布欧-Lewyon
2026-05-15
集群整体架构
Master 组件(控制面)
| 组件 | 说明 |
|---|---|
| kube-apiserver | 集群的入口网关,所有操作通过 REST API 与它交互 |
| kube-scheduler | 调度 Pod 到合适的 Worker 节点 |
| kube-controller-manager | 运行各种控制器(Deployment、Node、Namespace 等) |
| etcd | 分布式键值存储,保存集群全部状态数据 |
kube-apiserver
- 唯一与 etcd 交互的组件。
- 提供认证、授权、准入控制机制。
kubectl的所有命令最终都转为 API 请求。
etcd
- 存储所有资源对象的状态(Pod、Service、Deployment 等)。
- 需要定期备份,是集群恢复的关键。
- 通常奇数节点部署(3/5/7)。
Worker 组件
| 组件 | 说明 |
|---|---|
| kubelet | 每个节点上的"代理",负责管理 Pod 和容器 |
| kube-proxy | 维护节点上的网络规则,实现 Service 负载均衡 |
| 容器运行时 | 真正运行容器的软件(containerd、CRI-O、Docker) |
kubelet
- 接收 API Server 下发的 Pod 定义。
- 确保 Pod 的容器按预期运行。
- 上报节点和 Pod 状态到 API Server。
kube-proxy
- 实现 Service 的 ClusterIP 和 NodePort。
- 三种模式:userspace(已弃用)、iptables(默认)、IPVS(高性能)。
容器运行时
K8s 通过 CRI(Container Runtime Interface)与容器运行时交互:
# 查看节点上的容器运行时
kubectl get nodes -o wide
# 输出包含 CONTAINER-RUNTIME 列
# containerd://1.7.x工作流程
小结
- Master 节点运行控制面组件:apiserver、scheduler、controller-manager、etcd。
- Worker 节点运行工作负载:kubelet、kube-proxy、容器运行时。
- API Server 是集群唯一入口,所有组件通过它与 etcd 交互。
- etcd 存储集群全部状态,需定期备份。
- kubelet 管理 Pod 生命周期,kube-proxy 实现网络规则。
上一节:Kubernetes 概述 下一节:核心资源对象
