架构
Alauda Control Plane 通常以独立模式部署,其中一个集群由控制平面和数据平面组成。控制平面负责管理集群,包括集群的资源、应用和服务。数据平面负责集群的数据,包括集群的存储、网络和计算资源。
控制平面作为一组 Kubernetes 控制平面组件部署,包括:
- Kubernetes API server
- Kubernetes controller manager
- Kubernetes scheduler
- Kubernetes etcd
数据平面作为一组 Kubernetes 数据平面组件部署,包括:
- Kubernetes node
独立控制平面由一组专用节点托管,这些节点可以是物理机或虚拟机。
尽管独立模式运行良好,但某些情况下需要控制平面和数据平面解耦的架构。在这些情况下,数据平面位于独立的网络域中,拥有专用的物理托管环境。控制平面通过 Kubernetes 原生的高级原语(如 deployments 和 stateful sets)托管。控制平面被视为普通的工作负载。

优势
托管控制平面架构相比传统的独立模式提供了若干显著优势:
目录
资源效率
- 共享基础设施:多个控制平面可以共享相同的底层基础设施,减少资源开销
- 优化资源利用:控制平面组件可根据实际集群需求进行合理配置,而非预分配容量
- 降低硬件需求:无需专门为控制平面组件分配节点
运营简化
- 集中管理:所有控制平面均由单一管理集群统一管理,简化运维
- 简化升级:控制平面可独立升级,不影响工作负载集群
- 标准化操作:将控制平面视为工作负载,使用标准 Kubernetes 工具实现一致的运维实践
可扩展性与灵活性
- 快速集群部署:通过部署控制平面工作负载快速创建新集群
- 弹性扩展:控制平面组件可根据需求独立扩展
- 多租户支持:在共享基础设施的同时,实现不同租户控制平面的更好隔离
成本效益
- 降低总体拥有成本:减少基础设施需求,降低运营成本
- 按需付费:资源可根据实际使用动态分配
- 高效资源池化:多个控制平面共享资源,优化整体利用率
提升可靠性
- 故障域隔离:数据平面故障不会直接影响控制平面,反之亦然
- 独立生命周期管理:控制平面和数据平面可独立维护和升级
- 更佳灾难恢复:控制平面作为 Kubernetes 工作负载,更易备份和恢复
安全与隔离
- 网络分段:控制平面和数据平面可运行在独立的网络域中
- 降低攻击面:数据平面节点无需承载控制平面组件
- 增强多租户隔离:不同集群的控制平面之间隔离更好