基础设施提供者

不可变基础设施通过可插拔提供者支持多个基础设施平台。每个提供者都会与特定的 IaaS 平台集成,以提供集群生命周期管理能力。

支持的提供者

提供者描述状态
Huawei DCSHuawei 数据中心虚拟化解决方案✅ 可用
Huawei Cloud StackHuawei Cloud Stack✅ 可用
VMware vSphereVMware vSphere 虚拟化平台✅ 可用
裸金属不使用虚拟化的裸金属服务器✅ 可用(仅 YAML)

控制平面端点

每个集群的 Kubernetes API server(kube-apiserver,端口 6443)都通过控制平面端点访问——该端点是位于控制平面节点前端的虚拟 IP(VIP)或负载均衡地址。不同提供者提供该端点的方式不同,这也决定了您在创建集群之前需要准备的内容。

提供者控制平面端点机制您需要准备的内容
Huawei DCS由您提供一个位于控制平面节点前端的外部负载均衡器,或者可直接访问的单个控制平面节点在创建集群之前部署负载均衡器,并在 DCSCluster.spec.controlPlaneLoadBalancer 中提供其地址和端口
Huawei Cloud Stack由提供者创建在集群协调期间自动创建的 HCS Elastic Load Balance(ELB)实例HCSCluster.spec.controlPlaneLoadBalancer 中规划 ELB 输入项——VIP 子网、VIP 地址、带宽以及公网 IP 偏好设置
VMware vSphere由您提供一个位于控制平面节点前端的外部负载均衡器在创建集群之前部署负载均衡器并分配控制平面 VIP;文档化流程不会部署集群内 VIP 组件
裸金属由提供者创建(或由您提供)BaremetalCluster.spec.controlPlaneLoadBalancer.type=Internal 会将 alive chart(keepalived + IPVS + kube-lock Lease 仲裁)部署到控制平面节点上;type=External 则将 LB 委托给现有的外部设备选择一个空闲的 VIP、端口(通常为 6443),以及在控制平面二层广播域中唯一的 vrid

Huawei Cloud Stack 是唯一会为您创建控制平面负载均衡器的 VM 提供者。对于 Huawei DCS 和 VMware vSphere,负载均衡器——包括其 VIP 分配和后端(real-server)维护——都在集群外部准备并由集群外部负责。在裸金属上,提供者可以选择部署集群内 VIP 组件(alive),也可以委托给外部 LB;有关完整模型,请参阅 裸金属提供者 概述。

Fleet Essentials 插件

Fleet Essentials 是一个核心插件,为集群管理提供共享的 Web UI 框架。基础设施提供者可以通过 UI 扩展锚点对其进行扩展,以添加平台特定的页面和工作流。

安装后,Fleet Essentials 可提供以下能力:

  • 统一集群管理:通过单一界面管理跨所有平台的集群
  • 基础设施资源管理:配置云凭据、IP 池和机器模板
  • 集群生命周期操作:通过引导式工作流创建、查看、升级和销毁集群
  • 节点池管理:使用声明式方式管理节点池,并支持扩缩容和升级

Fleet Essentials 与基础设施提供者协同工作,以提供平台特定的集群管理。实现这些 Fleet Essentials 扩展锚点的提供者可以添加自己的集群创建工作流和管理页面。

提供者扩展

  • DCS Provider:Alauda Container Platform DCS Infrastructure Provider 1.0.13 及更高版本会在 Huawei DCS 上添加 DCS 专用 UI 页面和工作流。由池管理的持久磁盘场景需要 DCS provider v1.0.16 或更高版本,并且在 v1.0.16 中,DCSIpHostnamePool.spec.pool[].persistentDisk 配置仍然仅支持 YAML
  • HCS Provider:在 Huawei Cloud Stack 上提供基于 YAML 的集群生命周期管理。HCS provider v1.0.1 及更高版本通过 HCSMachineConfigPool.spec.configs[].persistentDisks[] 支持由池管理的持久磁盘
  • vSphere Provider:VMware vSphere 基础设施提供者已正式可用;其用于集群创建和管理的 Fleet Essentials UI 扩展即将推出
  • Bare Metal Provider:在物理服务器上提供仅 YAML 的集群生命周期管理。裸金属集群没有 Fleet Essentials UI;所有工作流都通过对 BaremetalClusterBaremetalMachineTemplateMachineInventoryPool 以及上游 CAPI 资源执行 kubectl apply 来驱动

提供者架构

每个基础设施提供者都是一个独立的插件,它与 Cluster API 框架集成,以管理目标平台上的基础设施资源。

组件

  • 基础设施提供者:管理 IaaS 特定资源(VM、网络、存储)
  • Bootstrap Provider(Kubeadm):负责 Kubernetes 节点初始化和配置
  • 控制平面提供者(Kubeadm):管理 Kubernetes 控制平面组件

提供者独立性

基础设施提供者与核心平台分别独立版本化。单个提供者版本可以与多个平台版本兼容,从而在部署和升级场景中提供更高的灵活性。