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 进行通信,确保数据一致性。
➡️

继续阅读