VMware vSphere Provider
安装 Provider
基础设施资源
创建集群
用于虚拟化平台的基础设施 Provider 可在 VMware vSphere 平台上创建和管理 Alauda OS 集群。此 Provider 构建于 Cluster API Provider vSphere (CAPV) 之上,并与 vCenter 集成,为 Kubernetes 集群置备和管理虚拟机、网络及存储。
概述
VMware vSphere 是 VMware 推出的业界领先虚拟化平台。vSphere Provider 直接连接 vCenter 以管理虚拟机生命周期,并通过声明式节点槽位分配扩展 CAPV,使主机名、静态 IP 地址和持久磁盘能够在集群置备前预先定义。
端点模式和磁盘生命周期
该 Provider 支持两种控制平面端点模式:外部 LoadBalancer(默认模式)以及由 Provider 管理的自建 VIP(VSphereCluster.spec.controlPlaneLoadBalancer.type: internal,使用 keepalived 和 IPVS 运行的 Alive)。自建 VIP 要求 ACP v4.4 或更高版本,并且只能在创建时选择:仅由 Provider v1.0.17 或更高版本创建的集群可用;已经存在的集群(包括其 Provider 从早期版本升级而来的集群)会继续使用外部 LoadBalancer,无法采用该模式。Machine-config-pool 持久磁盘遵循由 Provider 管理的 InUse → Released → reuse or reclaim 生命周期;请参阅 VMware vSphere Infrastructure Preparation。
主要功能
- vCenter 集成:直接连接 vCenter 以克隆虚拟机模板、管理虚拟机生命周期,并将工作负载放置在目标数据中心、计算集群和数据存储上
- 两种控制平面端点模式:使用您自行管理的外部 LoadBalancer,或在控制平面节点上使用由 Provider 管理的自建 VIP(
type: internal,使用 keepalived 和 IPVS 运行的 Alive,其中引导 VIP 会在kubeadm init后移交给 Alive);该模式要求 ACPv4.4或更高版本。集群创建后无法更改此模式 - 机器配置池:
VSphereMachineConfigPool为每个节点定义具有固定主机名、静态 IP 和按槽位配置的数据磁盘布局的槽位。同一现有池中的替换 Machine 可以重新使用已释放的槽位,但不同池对象之间不会共享槽位和 VMDK - 静态 IP 分配:为每个节点槽位配置静态 IP、网关和 DNS,适用于无法使用 DHCP 的企业网络环境
- 多 NIC 支持:每个节点支持主 NIC 和附加 NIC,其中主 NIC 用于驱动 kubelet
node-ip,附加 NIC 则按声明顺序连接到管理、存储或服务网络 - 多个数据中心和故障域:通过
VSphereFailureDomain和VSphereDeploymentZone将控制平面节点和工作节点分布到多个 vCenter 数据中心或计算集群中,以实现高可用性 - 灵活的数据磁盘:按声明为每个槽位配置持久和临时数据磁盘,并支持可选的格式化/挂载、持久磁盘上的
wipeFilesystem控制、在/dev/disk/by-capv/<name>暴露的原始设备模式,以及延迟释放,以便替换 Machine 在 Provider 管理的回收之前重新使用槽位和 VMDK - 不可变模板滚动更新:控制平面和工作节点更新使用新的
VSphereMachineTemplate和KubeadmConfigTemplate资源,从而支持可复现的替换和相同次版本模板恢复
支持的资源
下表列出了本文档工作流中使用的主要面向用户的资源。控制器协调的资源(例如 VSphereVM)以及文档工作流中未使用的资源(例如 VSphereClusterIdentity,它是此处使用的基于 Secret 的 identityRef 的替代方案)也在 Provider APIs 参考文档中完整介绍。