Kubernetes 架构 - 控制平面和数据平面
💡
原文中文,约3500字,阅读约需9分钟。
📝
内容提要
本文介绍 Kubernetes 架构中的控制平面和数据平面,以及集群中各个组件的作用和功能。
🎯
关键要点
- Kubernetes 集群分为控制平面和工作节点两部分。
- 控制平面组件包括 API Server、Scheduler、Controller Manager 和 etcd。
- API Server 负责组件间通信,处理 REST 请求并存储状态。
- Scheduler 负责将应用调度到具体节点,考虑多种特征。
- Controller Manager 维护集群状态,确保资源状态向期望值收敛。
- etcd 是集群的持久化存储,存储配置、状态和元数据。
- 工作节点上的组件包括 kubelet、kube-proxy 和 CRI。
- DNS 服务器为 Kubernetes 服务提供 DNS 记录。
- 容器资源监控和集群日志用于监控和记录集群状态。
- CNI 负责为 Pod 分配 IP 地址,确保内部通信。
- 仪表盘提供基于网页的用户界面,便于管理集群。
- 高可用性设计要求控制平面组件稳定运行,支持多个实例。
- 领导者选举机制确保 Scheduler 和 Controller Manager 的操作一致性。
- etcd 通过奇数个节点部署实现高可用性,避免单点故障。
- 集群组件通过 API Server 进行通信,确保数据一致性。
🏷️
标签
➡️