VMware vSphere 提供程序
VMware vSphere Infrastructure Provider 可在 VMware vSphere 平台上启用不可变基础设施。此提供程序构建于 Cluster API Provider vSphere(CAPV)之上,并与 vCenter 集成,以便为 Kubernetes 集群配置和管理虚拟机、网络和存储。
概述
VMware vSphere 是 VMware 业界领先的虚拟化平台。vSphere Provider 可直接连接到 vCenter 来管理 VM 生命周期,并通过声明式 node-slot 分配扩展 CAPV,从而可以在创建集群之前预先定义主机名、静态 IP 地址和持久磁盘。
INFO
v1.0.16 端点和磁盘生命周期边界
本文档基于 VMware vSphere Provider v1.0.16 进行验证。此版本为 Kubernetes API 端点使用外部负载均衡器,不部署自建 VIP。machine-config-pool 持久磁盘遵循提供程序管理的 InUse → Released → reuse or reclaim 生命周期;请参见 VMware vSphere Infrastructure Preparation。
主要特性
- vCenter 集成:直接连接 vCenter,以克隆 VM 模板、管理 VM 生命周期,并将工作负载放置到目标数据中心、计算集群和数据存储上
- Machine Configuration Pools:
VSphereMachineConfigPool定义带有固定主机名、静态 IP 和持久磁盘布局的每个节点槽位。已释放的槽位可由同一现有池中的替换 Machine 重用,但不同池对象之间不共享槽位和 VMDK - 静态 IP 分配:为每个节点槽位配置静态 IP、网关和 DNS,适用于不提供 DHCP 的企业网络环境
- 多 NIC 支持:每个节点支持主 NIC 和附加 NIC,其中主 NIC 驱动 kubelet
node-ip,附加 NIC 按声明顺序连接,用于管理、存储或服务网络 - 多个数据中心和故障域:通过
VSphereFailureDomain和VSphereDeploymentZone将控制平面和工作节点分布到多个 vCenter 数据中心或计算集群,以实现高可用性 - 灵活的持久磁盘:声明式数据磁盘,支持可选的格式化/挂载、用于 etcd 滚动更新的
wipeFilesystem控制、在/dev/disk/by-capv/<name>公开的原始设备模式,以及延迟释放,以便替换 Machine 可在提供程序管理回收之前重用该槽位和 VMDK - 不可变模板滚动更新:控制平面和工作节点更新使用新的
VSphereMachineTemplate和KubeadmConfigTemplate资源,从而支持可复现的替换以及同次要版本模板恢复
支持的资源
下表列出了本文档工作流中使用的主要面向用户的资源。由控制器协调的资源(例如 VSphereVM)以及未在本文档工作流中使用的资源(例如 VSphereClusterIdentity,它是此处使用的基于 Secret 的 identityRef 的替代方案)为完整起见,已在 Provider APIs 参考中说明。