核心概念
本节介绍 Hosted Control Plane 的核心概念和架构原则。理解这些概念对于有效部署和管理 Hosted Control Plane 集群至关重要。
目录
您将学到的内容
- 核心概念:基础构建模块,包括 Management Cluster、Hosted Control Plane、Data Plane、DataStore 以及关键的 Kubernetes 资源
- 架构深度解析:深入探讨架构、设计原则、通信流程和配置最佳实践
概述
Alauda Hosted Control Plane 引入了一种 Kubernetes 集群管理的新范式,通过将控制平面组件与数据平面节点解耦。控制平面组件不再需要专用物理节点托管,而是作为标准 Kubernetes 工作负载运行在共享的管理集群中。
这种架构方式带来了显著优势:
- 资源效率:多个控制平面共享基础设施,硬件需求降低 60-80%
- 运维简化:使用标准 Kubernetes 工具集中管理所有控制平面
- 快速部署:无需分配专用基础设施即可在几分钟内部署新集群
- 增强隔离:控制平面与数据平面独立运行,故障域分离更好
- 更大灵活性:支持边缘计算、混合云和多租户场景
关键概念一览
核心概念
Management Cluster
Management Cluster 是一个 Kubernetes 集群,托管一个或多个业务集群的控制平面组件。它以标准 Kubernetes 部署和有状态集的形式运行所有控制平面工作负载(API server、controller manager、scheduler)。
主要特征:
- 业务集群托管于 Alauda Container Platform
- 必须支持 LoadBalancer 类型服务(例如 MetalLB)
- 托管多个控制平面,具备适当隔离
- 需要集群插件:Kubeadm Provider、Hosted Control Plane、SSH Infrastructure Provider
使用场景:
- 多 Kubernetes 集群的集中管理
- 通过资源共享降低基础设施开销
- 实现多租户集群架构
Hosted Control Plane
Hosted Control Plane 是作为工作负载运行在管理集群中的 Kubernetes 控制平面,而非运行在专用节点上。每个 Hosted Control Plane 包含:
- API Server:通过 LoadBalancer 服务暴露
- Controller Manager:管理集群资源
- Scheduler:调度 Pod 到工作节点
- Konnectivity Server:维护与工作节点的安全连接
控制平面与数据平面完全解耦,支持独立扩缩容、升级和管理。
优势:
- 通过共享基础设施提升资源利用率
- 更快的集群部署速度
- 简化控制平面升级流程
- 更好的故障域隔离
Data Plane
Data Plane 由运行实际工作负载(应用、服务、Pod)的工作节点组成。在 Hosted Control Plane 架构中,数据平面与控制平面完全分离。
特征:
- 工作节点可位于不同网络或物理位置
- 通过 Konnectivity Agent 与控制平面连接
- 可独立于控制平面进行扩缩容
- 使用标准 Kubernetes 组件(kubelet、kube-proxy、CNI)
DataStore
DataStore 是定义控制平面数据存储后端的 Kubernetes 自定义资源。它配置连接到外部 etcd 集群,用于存储一个或多个 Hosted Control Plane 的所有 Kubernetes API 对象。
配置内容包括:
- Etcd 集群端点(多节点以保证高可用)
- 用于安全通信的 TLS 证书
- 用于验证的 CA 证书
示例:
要点:
- 单个 DataStore 可服务多个 Hosted Control Plane
- 当前版本仅支持 etcd 驱动
- 生产环境需配置 TLS
TenantControlPlane
TenantControlPlane(由 Kamaji 管理)表示单个集群的完整 Kubernetes 控制平面。创建 KamajiControlPlane 资源时会自动创建 TenantControlPlane,负责管理:
- 控制平面部署副本数
- 服务端点和 LoadBalancer
- 证书和密钥
- 插件组件(CoreDNS、kube-proxy、Konnectivity)
状态信息包括:
- Kubernetes 版本
- 控制平面端点(LoadBalancer IP)
- 就绪状态
- Kubeconfig 密钥引用
- 关联的 DataStore
Cluster API 资源
Hosted Control Plane 基于 Cluster API (CAPI),这是一个用于声明式集群管理的 Kubernetes 项目。关键 CAPI 资源包括:
Cluster
定义 Kubernetes 集群,包括网络配置(Pod CIDR、Service CIDR)及对控制平面和基础设施资源的引用。
KamajiControlPlane
定义 Hosted Control Plane 配置,包括:
- Kubernetes 版本
- 控制平面副本数
- DataStore 引用
- 插件配置(CoreDNS、kube-proxy、Konnectivity)
- 网络服务类型(LoadBalancer)
SSHCluster
基于 SSH 的基础设施集群定义,包括:
- 容器镜像仓库配置
- 网络插件选择(Calico)
- LoadBalancer 配置
MachineDeployment
声明式管理一组工作节点,类似于 Pod 的 Deployment。包括:
- 副本数
- 机器模板引用
- 引导配置引用
- 版本规格
SSHHost
表示可通过 SSH 访问的物理或虚拟机。定义:
- IP 地址和 SSH 端口
- 认证凭据
- 重用策略(删除后是否清理重用)
Konnectivity
Konnectivity 是一种网络连接解决方案,维护控制平面(管理集群内)与工作节点(数据平面内)之间的安全连接。包含:
- Konnectivity Server:运行于控制平面 Pod 中
- Konnectivity Agent:作为 DaemonSet 运行于工作节点
作用:
- 使 API server 能与工作节点上的 kubelet 通信
- 支持 Pod exec、日志和端口转发操作
- 跨越网络边界和防火墙工作
- 使用带 TLS 认证的安全隧道
容器运行时
容器运行时 负责在工作节点上运行容器。Hosted Control Plane 当前支持:
- Containerd 1.7.27-4:业界标准容器运行时
配置:
- 在
SSHMachineTemplate资源中指定 - 工作节点自动安装
- 支持私有镜像仓库认证
网络配置
网络配置定义集群组件使用的 IP 地址范围:
Pod CIDR
分配给 Pod 网络的 IP 地址范围。每个 Pod 从该范围获得一个 IP。
要求:
- 不得与管理集群的 Pod CIDR 重叠
- 不得与 Service CIDR 重叠
- 典型格式:
10.x.0.0/16
Service CIDR
分配给 Kubernetes 服务的 IP 地址范围。每个服务从该范围获得一个集群 IP。
要求:
- 不得与管理集群的 Service CIDR 重叠
- 不得与 Pod CIDR 重叠
- 典型格式:
10.x.0.0/16
网络插件
当前支持 Calico,提供:
- Pod 间网络通信
- 网络策略执行
- IP 地址管理(IPAM)