VMware vSphere Provider 发行说明
目录
概述v1.0.17新功能增强功能修复的问题破坏性变更弃用注意事项v1.0.16 (2026-08-05)增强功能修复的问题注意事项v1.0.15 (2026-07-09)修复的问题v1.0.14 (2026-06-08)注意事项v1.0.13 (2026-06-08)修复的问题v1.0.12 (2026-05-25)修复的问题v1.0.11 (2026-05-21)修复的问题v1.0.10 (2026-05-18)增强功能v1.0.9 (2026-05-18)新功能修复的问题v1.0.8 (2026-05-12)修复的问题v1.0.7 (2026-04-28)修复的问题v1.0.6 (2026-04-28)增强功能v1.0.5 (2026-04-16)破坏性变更v1.0.4 (2026-04-11)增强功能v1.0.3 (2026-04-07)修复的问题v1.0.2 (2026-04-07)注意事项v1.0.1 (2026-04-07)新功能增强功能v1.0.0 (2026-04-03)概述初始功能集概述
此页面跟踪 Alauda Container Platform VMware vSphere Infrastructure Provider 的发行说明。您在平台上看到的版本号(例如 v1.0.17)指的是 vSphere provider 的打包版本,其中包含 Cluster API Provider vSphere (CAPV) 控制器镜像、vSphere Cloud Provider Interface (CPI) 镜像、admission webhooks,以及用于在 Alauda Container Platform 上部署这些组件的 Helm Chart。
如需查看当前的完整功能列表和安装步骤,请参阅 VMware vSphere Provider 安装。
v1.0.17
新功能
- 自建控制平面 VIP —
VSphereCluster.spec.controlPlaneLoadBalancer选择控制平面端点模式。type: internal会使 provider 通过ModuleInfo在控制平面节点上安装 Alive(keepalived 和 IPVS),在第一个kubeadm init节点上注入引导 VIP,将 VIP 移交给 Alive,并使业务集群的 kube-proxy IPVS 设置与其保持一致。type: external以及未设置该字段时,保持现有行为。该字段只接受一次,之后即被冻结。自建 VIP 要求 ACP 为v4.4或更高版本,并且仅适用于使用此版本或更高版本创建的集群:已升级的集群会保留其外部负载均衡器,无法采用该 VIP。端点在部署集群时选择,运行时或升级期间无法调整。已升级的集群会将该字段留空,而留空本身即表示使用外部负载均衡器;在运行中的集群上设置该字段会被拒绝。请参阅升级 Provider。请参阅控制平面端点模式。 - 临时数据磁盘 —
VSphereMachineConfigPool.spec.configs[].ephemeralDisks[]声明按插槽分配的磁盘,这些磁盘会随 VM 一起删除,并在替换 VM 上以空磁盘重新创建。它们不参与回收,也不会持有插槽 release。该列表是创建时的布局:已升级的集群会保留现有持久化磁盘,升级不会将其中任何磁盘移入ephemeralDisks[];处于InUse或Released状态的插槽可以向任一列表添加磁盘,但不允许删除或重新调整布局。请参阅选择持久化磁盘或临时磁盘。 - 按磁盘和按插槽显示池状态 —
VSphereMachineConfigPool现在会报告带有phase的status.persistentDiskStatuses[],其值可以是Creating、Attached、Available、Reclaiming、Reclaimed或Error,还会报告status.ephemeralDiskStatuses[]以及插槽计数器status.total、status.available和status.allocated,这些内容也会显示为打印列。 - 池健康状况条件 — 池会报告
Ready、MembersValid、MembersUnique、SlotAvailable和PersistentDisksReady,同时保留现有的ClusterRefReady和VCenterAvailable。SlotAvailable会被有意排除在Ready摘要之外,因此已完全分配的池仍会报告Ready=True。 - 引导和端点条件 —
BootstrapReady在VSphereVM和VSphereMachine上用于区分缺失或无法读取的引导 Secret 与内容无效的 Secret;KubeOvnAppReleaseReady和SelfBuiltLoadBalancerReady在VSphereCluster上报告这些子系统的状态,而不会阻止status.ready。
增强功能
- 通过 admission 强制执行滚动更新规则 — 对于基础设施模板设置了
machineConfigPoolRef的KubeadmControlPlane或MachineDeployment,maxSurge必须为0,KubeadmControlPlane.spec.replicas必须为3或更高,MachineDeployment.spec.strategy.rollingUpdate.maxUnavailable必须为1或更高。这些值此前已是固定 IP 插槽模型的要求;现在会在接受对象之前进行检查。请参阅根据 admission 规则检查清单。 - 池安全验证 — 绑定到同一个
Cluster的各个池中的主机名和主 IP 地址必须唯一;处于InUse或Released状态的插槽不再允许更改其地址、磁盘集或磁盘几何属性;删除仍拥有InUse插槽的池会在开始时直接被拒绝,而不会使对象进入Terminating状态。 - 位于数据磁盘上的 Pod 日志目录 — 当插槽在
/var/lib/containerd挂载磁盘时,/var/log/pods会被迁移到该磁盘。现有机器不会自动改造;节点被替换时才会应用此更改。 - 确定性的持久化磁盘匹配 — 磁盘将首先按 VMDK 路径、然后按 SCSI 单元编号进行匹配,而不再按容量匹配;
ownerMachineName和ownerMachineUID会在 VM 替换期间保留,因此滚动升级会重新连接相同的磁盘。
修复的问题
- VM 状态处理 — 当作为其底层支撑对象的
VSphereVM、其providerID或网络信息不可用时,VSphereMachine会清除Ready;现在还会观察 vCenter 中执行的带外电源更改,而不会将其隐藏。 - 插槽所有者查找错误 — 解析插槽所有者时发生的错误会向上传播,而不会被吞掉;插槽验证还会覆盖
network.additional条目和规范化的来宾挂载路径。 - 安全更新 — 已更新依赖项,以修复报告的 CVE。
破坏性变更
- 在 vCenter 中关闭电源的 VM 将保持关闭状态。 VM 首次成功开机后,
VSphereVM会锁定InitialPowerOnCompleted,控制器不再强制将其重新开机。PoweredOn=False会传播到VSphereVM.Ready和VSphereMachine.Ready。滚动更新创建的替换 VM 不会设置该锁定状态,因此其首次启动不受影响。
弃用
VSphereMachineConfigPool.status.configStatuses[].reclaimStatus、spec.configs[].persistentDisks[].volumePath和.diskUUID在此版本中被冻结,并计划移除。请改为读取status.persistentDiskStatuses[]。现有池无需手动编辑:升级后的首次 reconcile 时,控制器会将旧记录合并到status.persistentDiskStatuses[],继续处理正在进行的回收,并清除reclaimStatus。请参阅升级 Provider。phase: Reclaimed条目是墓碑记录,不得手动删除。
注意事项
- 新的管理集群权限 — Provider chart 授予对
clustermodules、moduleconfigs和moduleplugins的读取权限,对moduleinfoes的写入权限,对clusters(位于clusterregistry.k8s.io中)和platform.tkestack.io的读取权限,以及对patch和update(位于kubeadmcontrolplanes上)的权限。请参阅验证安装。 - vCenter Custom Fields 权限 — 当
VSphereCluster或其 CAPICluster带有vsphere.cluster.x-k8s.io/*注释时,此权限为必需权限。缺少该权限会导致 VM reconcile 失败,而不是跳过元数据写入。
v1.0.16 (2026-08-05)
增强功能
- ACP 4.4 系统组件仓库 — Provider 根据目标 Kube-OVN 版本选择 Kube-OVN chart,根据 CoreDNS 标签中的 ACP 版本后缀选择 CoreDNS 镜像仓库,并根据 Kubernetes 版本选择 kube-proxy 镜像仓库。Kube-OVN
v4.4及更高版本使用acp/chart-kube-ovn,ACPv4.4及更高版本的 CoreDNS 标签使用acp,Kubernetesv1.35及更高版本的 kube-proxy 使用acp/k8s。更早的目标版本继续使用其旧版仓库路径。
修复的问题
- 升级期间可靠的组件 reconcile — Provider 会响应 KubeadmControlPlane 版本和滚动更新变更,在更改业务集群的 kube-proxy 和 CoreDNS 资源之前等待控制平面滚动更新完成,并将业务集群现有的 Registry 拉取凭据传递给受管系统组件。这可使 Kube-OVN、CoreDNS 和 kube-proxy 与所选的 ACP 和 Kubernetes 版本保持一致。
注意事项
- 外部控制平面 LoadBalancer — 此版本不会部署 Self-built VIP。请按照规划控制平面端点配置外部 LoadBalancer。
有关特定于 Provider 版本的 Kube-OVN 升级顺序,请参阅在 VMware vSphere 上升级集群。
v1.0.15 (2026-07-09)
修复的问题
-
可靠的节点主地址和身份 — vSphere cloud provider 现在会在选择节点地址时遵循配置的节点 IP,并从 VM 注册的系统 UUID 解析 Provider ID。这可以避免错误的节点身份或地址选择,尤其适用于具有多个 NIC 的 VM。
-
更可靠的 Kube-OVN 引导 — Provider 会在 reconcile Kube-OVN 之前等待有效的控制平面节点集,从而避免在初始控制平面尚未完成时进行 CNI reconcile。
v1.0.14 (2026-06-08)
注意事项
v1.0.14 是在相同源代码修订版本上对 v1.0.13 重新打标签的版本。不包含其他变更;请参阅 v1.0.13。
v1.0.13 (2026-06-08)
修复的问题
-
更安全地替换由池管理的持久磁盘 — 只有在前一个 VM 的持久磁盘全部分离后,才会重新使用机器配置池中的槽位。这可以避免替换 VM 与磁盘分离操作发生竞争。
-
备用 Global 集群 reconcile — vSphere provider 资源可在备用 Global 集群上正确 reconcile,支持文档所述的灾难恢复操作步骤。
v1.0.12 (2026-05-25)
修复的问题
-
Kube-OVN 引导期间即可启动 vSphere CPI — vSphere cloud provider 会被调度到控制平面节点上,并容忍这些节点上的污点,因此可以在集群网络就绪前启动。
-
Kube-OVN 等待初始控制平面就绪 — provider 会延迟 Kube-OVN reconcile,直到就绪的控制平面节点数与预期的控制平面从节点数一致。
v1.0.11 (2026-05-21)
修复的问题
- 减少不必要的 OVN reconcile 触发 — 上游 CAPV 镜像已更新至一个构建版本,可避免在实际状态无需变更时重复触发 OVN reconcile。这提高了控制器的稳定性,并减少了后台负载。
v1.0.10 (2026-05-18)
增强功能
- 刷新上游 CAPV 镜像 — Provider chart 现在引用了更新版本的 Alauda 上游 Cluster API Provider vSphere 控制器构建。除上游镜像更新外,此 overlay 版本没有其他行为变更。
v1.0.9 (2026-05-18)
新功能
- 容器镜像中的 OCI 源和修订版本标签 — 构建的 provider 镜像包含标准 OCI
source和revision标签,用于追踪构建信息。
修复的问题
- OVN 集成和持久磁盘处理 — 上游 CAPV 镜像已更新至一个构建版本,可解决此前版本中报告的 OVN 网络集成问题和持久磁盘处理回归问题。
v1.0.8 (2026-05-12)
修复的问题
capv-manager-roleClusterRole — 修正了capv-manager-roleClusterRole 定义,该定义缺少控制器正常运行所需的权限。
v1.0.7 (2026-04-28)
修复的问题
- Chart 模板回归问题 — 恢复了 CRD 上的
v1beta1contract 标签,并修正了 Chart 中转义的 Go 模板字面量,解决了在某些配置下阻止 Provider 成功安装的 Chart 模板回归问题。
v1.0.6 (2026-04-28)
增强功能
- CRD 更新 — 刷新 Provider CRD,使其与最新 schema 保持一致。
v1.0.5 (2026-04-16)
破坏性变更
- CRD 重命名:
VSphereResourcePool→VSphereMachineConfigPool— 用于声明每个节点池的插槽预留和持久化配置的 CRD 已从VSphereResourcePool重命名为VSphereMachineConfigPool。必须更新现有 manifest 以使用新的资源类型。
v1.0.4 (2026-04-11)
增强功能
-
VSphereResourcePoolCRD 更新 — 调整VSphereResourcePoolCRD 的 schema(随后在v1.0.5中重命名;请参见上文)。 -
文档 — 更新 Provider README,补充项目结构、组件、CRD 和配置部分。
v1.0.3 (2026-04-07)
修复的问题
- CVE 修复 — 解决了 vendored 依赖项中多个已披露的 CVE 问题。
v1.0.2 (2026-04-07)
注意事项
v1.0.2 是对 v1.0.1 的重新标记(底层 commit 相同)。除 v1.0.1 外没有其他变更;有关 release 内容,请参见 v1.0.1。
v1.0.1 (2026-04-07)
新功能
- 基于 Secret 的 CAPV 部署加密 — Provider 部署现在可以使用外部 Secret 提供加密配置,从而不再需要将加密材料直接写入部署 manifest。
增强功能
-
VSphereResourcePoolCRD 更新 — 刷新VSphereResourcePoolCRD 的 schema。请注意,此 CRD 随后在v1.0.5中重命名为VSphereMachineConfigPool。 -
更新 CAPV 部署 manifest — Provider 部署 manifest 已与新的 CRD schema 保持一致。
v1.0.0 (2026-04-03)
概述
v1.0.0 是 Alauda Container Platform VMware vSphere Infrastructure Provider 的初始版本,是上游 Cluster API Provider vSphere(CAPV)面向 Alauda Container Platform 的 Alauda 打包发行版。
初始功能集
-
CAPV controller 和 vSphere CPI 的 Helm Chart 打包 — 捆绑上游 CAPV controller 镜像和 vSphere Cloud Provider Interface(CPI)镜像,以及平台托管安装所需的 Alauda Container Platform ModulePlugin 定义。
-
CRD 集合 — 提供标准 CAPV CRD(
VSphereCluster、VSphereClusterIdentity、VSphereMachine、VSphereMachineTemplate、VSphereVM、VSphereDeploymentZone、VSphereFailureDomain),以及 Alauda 扩展VSphereResourcePool(在v1.0.5中重命名为VSphereMachineConfigPool)。 -
与平台一致的安装流程 — 通过 Alauda Container Platform 的标准 Provider 安装流程进行安装,并公开用于覆盖上游 CAPV controller 和 CPI 镜像的 Chart values。