Kubernetes 的控制平面由多个组件组成,其中最核心的三个是:
- API Server(kube-apiserver)
- Scheduler(kube-scheduler)
- Controller Manager(kube-controller-manager)
它们共同构成了 Kubernetes 的“大脑”,负责集群的状态管理、调度与自愈。本文将深入解析这三个核心组件的工作原理、功能职责以及在生产环境中的实践要点。
1. API Server (kube-apiserver)
API Server 是 Kubernetes 集群的“前台和总线”,所有请求和通信都必须经过它。
核心功能
- 唯一入口: 所有内部组件(Scheduler、Controller Manager、Kubelet)和外部用户(
kubectl、客户端 SDK)都必须通过 API Server 操作集群。 认证、授权与准入控制:
- 认证:验证请求身份(证书、Token、OIDC 等)。
- 授权:检查用户是否有权限执行该操作(RBAC、ABAC 等)。
- 准入控制:拦截请求,做策略增强(如默认值填充、资源配额校验、Sidecar 注入)。
RESTful API: 提供统一的 HTTP RESTful API,对 Pod、Service、Deployment 等资源进行 CRUD。
<