基础设施提供商
Immutable Infrastructure 通过可插拔的提供商支持多个基础设施平台。每个提供商都与特定的 IaaS 平台集成,以提供集群生命周期管理功能。
支持的提供商
控制平面端点
每个集群的 Kubernetes API server(kube-apiserver,端口 6443)都通过控制平面端点访问——该端点是位于控制平面节点前端的虚拟 IP(VIP)或负载均衡器地址。不同提供商提供该端点的方式不同,这决定了在创建集群之前必须准备的内容。
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 providerv1.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 控制平面组件
提供商独立性
基础设施提供商独立于核心平台进行版本管理。单个提供商版本可以与多个平台版本兼容,从而为部署和升级场景提供灵活性。