基础设施提供商

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

支持的提供商

提供商描述
Huawei DCSHuawei Datacenter Virtualization Solution
Huawei Cloud StackHuawei Cloud Stack
VMware vSphereVMware vSphere 虚拟化平台
裸金属不使用虚拟化的裸金属服务器

控制平面端点

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

提供商控制平面端点机制需要准备的内容
Huawei DCS由你提供,或由提供商管理自建 VIP外部负载均衡器、在 DCS Provider v1.0.22+ 上由提供商管理的 type: internal Self-built VIP,并使用 ACP v4.4+,或直接访问单个控制平面节点对于外部模式,在创建集群之前配置负载均衡器。对于内部模式,在控制平面二层网络中预留 IPv4 VIP,并使用 DCS YAML 工作流
Huawei Cloud Stack由提供商创建在集群协调期间自动创建的 HCS Elastic Load Balance(ELB)实例在 HCSCluster.spec.controlPlaneLoadBalancer 中规划 ELB 参数——VIP 子网、VIP 地址、带宽和公网 IP 偏好
VMware vSphere由提供商创建(或由你提供)使用提供商 v1.0.17 和 ACP v4.4+,VSphereCluster.spec.controlPlaneLoadBalancer.type=internal 将 Alive(keepalived + IPVS)部署到控制平面节点上;type=external 以及未设置该字段时,则将 LB 委托给现有外部设备。模式在创建集群时固定对于 internal,选择一个空闲 IPv4 VIP、一个端口(通常为 6443),以及一个在控制平面二层广播域中唯一的 vrid。对于 external,在创建集群之前配置负载均衡器
裸金属由提供商创建(或由你提供)BaremetalCluster.spec.controlPlaneLoadBalancer.type=Internal 将 alive chart(keepalived + IPVS + kube-lock Lease 仲裁)部署到控制平面节点上;type=External 将 LB 委托给现有外部设备选择一个空闲 VIP、端口(通常为 6443)以及一个在控制平面二层广播域中唯一的 vrid

Huawei Cloud Stack 是唯一会为你创建平台负载均衡器对象的 VM 提供商。对于 Huawei DCS,负载均衡器(包括其 VIP 分配和后端(真实服务器)维护)在集群外部准备并由外部负责。在裸金属环境以及使用提供商 v1.0.17 的 VMware vSphere 环境中,提供商可以部署集群内 VIP 组件(alive),也可以交由外部 LB 处理;有关完整模型,请参阅 裸金属提供商 和 VMware vSphere 提供商 概览。

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 上提供基于 YAML 的集群生命周期管理。vSphere 集群的创建和管理没有 Fleet Essentials UI 扩展
  • 裸金属提供商:在物理服务器上提供仅支持 YAML 的集群生命周期管理。裸金属集群没有 Fleet Essentials UI;每个工作流都通过 kubectl apply 针对 BaremetalCluster、BaremetalMachineTemplate、MachineInventoryPool 和上游 CAPI 资源驱动

提供商架构

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

组件

  • 基础设施提供商:管理特定于 IaaS 的资源(虚拟机、网络、存储)
  • 引导提供商(Kubeadm):处理 Kubernetes 节点的初始化和配置
  • 控制平面提供商(Kubeadm):管理 Kubernetes 控制平面组件

提供商独立性

基础设施提供商独立于核心平台进行版本管理。单个提供商版本可以与多个平台版本兼容,从而为部署和升级场景提供灵活性。