Kubernetes API Server 深度解析与生产实践全指南
Kubernetes 的核心是 API Server(kube-apiserver),它是集群操作的唯一入口。无论是内部组件(如 kubelet、scheduler)还是外部用户(如 kubectl 命令),所有请求都必须通过 API Server。可以把它理解为 Kubernetes 的“大脑”和“网关”。
一、API Server 的核心设计目标
- 统一入口:提供所有资源操作的 RESTful API。
- 集群状态存储:作为与底层分布式存储 etcd 的唯一前端。
- 认证、授权与准入控制:确保请求安全和合规。
- 可扩展性:通过 Aggregation Layer 集成其他 API 或自定义资源。
- 高可用与性能保障:支持多副本部署、QPS/Burst 限流及 Watch 缓存优化。
二、API 请求处理流程概览
一个请求从发起到最终持久化经历一个精密流水线:
下面逐步拆解每一环节。
三、认证 (Authentication)
核心问题:你是谁?
API Server 支持多种认证方式,可同时启用:
- 客户端证书 (Client Certificates):kubectl 或 kubelet 使用 TLS 证书中的 CN 和 O 作为用户