Kubernetes 架构概览
理解控制平面与节点组件的职责分工。
架构可以拆成两层:控制平面(决策)和节点(执行)。
控制平面组件
- API Server:统一入口
- etcd:存储集群状态
- Scheduler:决定 Pod 去哪里
- Controller Manager:维持期望副本与状态
节点组件
- kubelet:执行 Pod 生命周期
- 容器运行时:containerd 或 CRI-O
- kube-proxy:服务转发规则
- CNI/CSI:网络与存储插件
简化心智图
kubectl -> apiserver -> etcd
|-> scheduler
|-> controllers
nodes: kubelet + runtime + kube-proxy
理解这些组件后,你就能定位“问题发生在控制面还是节点面”。
实操要点
- 先做快速盘点:
kubectl get nodes、kubectl get pods -A、kubectl get events -A。 - 对比“期望状态”和“实际状态”,
kubectl describe往往能解释漂移或失败原因。 - 名称、Label、Selector 要一致,避免 Service 或控制器找不到 Pod。
快速检查清单
- 资源定义与业务意图一致。
- Namespace、权限、镜像与环境匹配。
- 上线前具备健康探针与可观测日志。