架构

Alauda Control Plane 通常以独立模式部署,其中一个集群由控制平面和数据平面组成。控制平面负责管理集群,包括集群的资源、应用和服务。数据平面负责集群的数据,包括集群的存储、网络和计算资源。

控制平面作为一组 Kubernetes 控制平面组件部署,包括:

  • Kubernetes API server
  • Kubernetes controller manager
  • Kubernetes scheduler
  • Kubernetes etcd

数据平面作为一组 Kubernetes 数据平面组件部署,包括:

  • Kubernetes node

独立控制平面由一组专用节点托管,这些节点可以是物理机或虚拟机。

尽管独立模式运行良好,但某些情况下需要控制平面和数据平面解耦的架构。在这些情况下,数据平面位于独立的网络域中,拥有专用的物理托管环境。控制平面通过 Kubernetes 原生的高级原语(如 deployments 和 stateful sets)托管。控制平面被视为普通的工作负载。

Architecture Diagram

优势

托管控制平面架构相比传统的独立模式提供了若干显著优势:

目录

资源效率

  • 共享基础设施:多个控制平面可以共享相同的底层基础设施,减少资源开销
  • 优化资源利用:控制平面组件可根据实际集群需求进行合理配置,而非预分配容量
  • 降低硬件需求:无需专门为控制平面组件分配节点

运营简化

  • 集中管理:所有控制平面均由单一管理集群统一管理,简化运维
  • 简化升级:控制平面可独立升级,不影响工作负载集群
  • 标准化操作:将控制平面视为工作负载,使用标准 Kubernetes 工具实现一致的运维实践

可扩展性与灵活性

  • 快速集群部署:通过部署控制平面工作负载快速创建新集群
  • 弹性扩展:控制平面组件可根据需求独立扩展
  • 多租户支持:在共享基础设施的同时,实现不同租户控制平面的更好隔离

成本效益

  • 降低总体拥有成本:减少基础设施需求,降低运营成本
  • 按需付费:资源可根据实际使用动态分配
  • 高效资源池化:多个控制平面共享资源,优化整体利用率

提升可靠性

  • 故障域隔离:数据平面故障不会直接影响控制平面,反之亦然
  • 独立生命周期管理:控制平面和数据平面可独立维护和升级
  • 更佳灾难恢复:控制平面作为 Kubernetes 工作负载,更易备份和恢复

安全与隔离

  • 网络分段:控制平面和数据平面可运行在独立的网络域中
  • 降低攻击面:数据平面节点无需承载控制平面组件
  • 增强多租户隔离:不同集群的控制平面之间隔离更好