Huawei DCS Provider Release Notes

概述

本页面记录 Alauda Container Platform Huawei DCS Infrastructure Provider 的 release notes。每个部分对应一个发布标签。版本按从新到旧的顺序排列。

有关当前完整功能列表和安装步骤,请参阅 Huawei DCS Provider 安装

v1.0.22 (2026-08-26)

新功能

  • 由 Provider 管理的 DCS 自建 VIP — 当与 ACP v4.4 或更高版本配对时,DCS Provider v1.0.22 支持 DCSCluster.spec.controlPlaneLoadBalancer.type: internal。Provider 会在首次控制平面初始化时注入临时 bootstrap VIP,然后创建或更新 alive ModuleInfo,并等待 VIP 端点就绪。请在控制平面二层网络中预留一个 IPv4 VIP,确保其 VRID 在该网络中唯一,并使用三个控制平面副本以实现高可用性。现有的外部负载均衡器集群不会自动迁移。

增强

  • 版本感知的系统组件仓库 — Provider 根据目标 chart 版本选择 Kube-OVN chart 仓库,根据 CoreDNS 标签中的 ACP 后缀选择 CoreDNS 仓库,并根据 Kubernetes 版本选择 kube-proxy 仓库。Kube-OVN v4.4+ 使用 acp/chart-kube-ovn;更早的 chart 版本继续使用 acp/chart-cpaas-kube-ovn。Kubernetes v1.35+ 使用 acp/k8s/kube-proxy

  • 升级时的系统组件协调 — Provider 会监视 KubeadmControlPlane 的版本和 rollout 变更,在控制平面创建之前配置 CoreDNS 仓库,并在相关 rollout 之后协调 CoreDNS 和 kube-proxy。请勿手动替换由 Provider 管理的 AppRelease 资源的来源。

  • 将 Pod 日志放置在 containerd 数据盘上 — 当节点具有专用的 /var/lib/containerd 数据盘时,生成的 bootstrap 配置会将 /var/log/pods 链接到 /var/lib/containerd/pods,从而使 Pod 日志使用 containerd 数据盘。

问题修复

  • CoreDNS 镜像拉取 Secret 协调 — 现在从 CoreDNS Deployment 评估 CoreDNS 镜像拉取 Secret,而不再从 sentry ServiceAccount 上的无关 Secret 进行评估。

  • 依赖项安全维护 — 更新了非标准库的 Go 依赖项,包括 CEL 和 Kubernetes 库,以修复已发现的漏洞并与受支持的平台基线保持一致。

v1.0.21 (2026-06-17)

新功能

  • Huawei DCS 上的控制平面高可用性 — 设置 DCSCluster.spec.controlPlaneHA.enabled,使 Provider 为控制平面 VM 创建并维护 DCS DRS 互斥规则。DCS 执行实际的放置和迁移;Provider 会在控制平面 VM 发生变化时更新该规则。此选项要求已启用 DRS 且主机容量充足。请参阅 控制平面跨主机高可用性

  • 节点 bootstrap 后自动卸载 CD-ROM — Provider 在 VM 创建后卸载用于 bootstrap 的 CD-ROM,从而消除后续 DRS 迁移和控制平面放置操作中的常见限制。

增强

  • 协调过程中更高效的 DCS 认证 — Provider 会复用有效的 DCS SDK 认证 token 和客户端,而不是反复请求新的远程登录,从而减少正常操作期间不必要的控制平面流量。

问题修复

  • ACP v4.3.2 及更高版本的 Alauda OS 兼容性 — Provider 在 bootstrap 期间能够可靠地在多 NIC 节点上应用配置的主节点地址。当 DCS 集群使用 ACP v4.3.2 或更高版本(包括 ACP v4.4.0 及更高版本)的 Alauda OS 镜像时,需要 DCS Provider v1.0.21。请选择与同一 ACP 版本对应发布的镜像。请勿将 DCS Provider v1.0.21 或更高版本与 ACP v4.3.2 之前版本的 Alauda OS 镜像配对。请参阅 Alauda OS 与 Provider 兼容性

v1.0.20 (2026-06-04)

新功能

  • 池管理持久磁盘的精简配置选项DCSIpHostnamePool.spec.pool[].persistentDisk.isThin 允许你在 Provider 创建新的持久卷时请求 DCS 精简配置设置。此字段仅在创建时生效:更改它不会转换现有卷。

v1.0.19 (2026-05-29)

增强

  • Alauda OS 模板兼容性 — 节点 bootstrap 配置现在仅对兼容的 Alauda OS 模板渲染 /home 挂载。现有清单无需更改。

v1.0.18 (2026-05-19)

新功能

  • 更安全的 VM 删除生命周期 — Provider 现在会在向 Huawei DCS 发出删除操作之前先停止虚拟机。Provider 等待 VM 进入已停止状态,然后执行删除;如果 VM 已经不存在,该操作会以幂等方式完成。这可以防止在删除 API 拒绝或针对正在运行的 VM 重试时出现孤立的 VM 状态。

  • DCSMachine 上的 retainVm 注解 — 在 DCSMachine 上设置 retainVm 注解会跳过停止和删除步骤。DCSMachine 的 finalizer 会被干净地释放,底层 VM 继续在 DCS 中运行。适用于需要将 VM 从集群分离以进行离线检查或迁移而不销毁的场景。

  • DCSMachine 上的 VMStopPending 状态条件 — 新增的状态条件用于报告节点删除当前是否正在等待其 VM 停止。可通过 kubectl describe dcsmachine 观察该条件,并与控制器日志集成,从而提供对先停止后删除生命周期阶段的可见性。

增强

  • 集群协调期间的 Etcd 加密恢复 — 在现有集群的协调过程中,Etcd 加密配置和数据存储处理会得到一致恢复,从而改善控制平面变更后的恢复行为。

  • global 集群的 Etcd 同步 — Provider 现在在 etcd 同步期间正确处理 global 集群,使其行为与工作负载集群的处理保持一致。

  • 集群凭证中的 FC/DCS 域用户支持DCSCluster Secret 引用接受 userType 字段。Huawei FC 和 DCS 上的域用户通过新的语义 Secret 键进行识别。本地管理员账户继续照常工作。

问题修复

  • DCSMachineTemplate 系统磁盘大小验证DCSMachineTemplate 中声明的系统磁盘大小必须至少等于源 VM 模板的系统磁盘大小;控制器现在会在协调期间更早地报告明确的错误。

v1.0.17 (2026-04-29)

增强

  • 集群插件 UI 镜像标签刷新 — 更新了内部管理 UI 镜像标签。Provider 控制器没有用户可见的行为变化。

v1.0.16 (2026-04-29)

新功能

  • Huawei DCS 上的池管理持久磁盘 — 现在通过 DCSIpHostnamePool 资源声明和跟踪持久磁盘。在滚动升级期间,已声明的持久磁盘可以从旧 VM 卸载并重新挂载到替换 VM,从而降低保留的节点本地磁盘上的数据丢失风险。

  • DCSIpHostnamePool.spec.pool[].persistentDiskpersistentDiskStatusDCSIpHostnamePool 通过新的 persistentDiskpersistentDiskStatus 字段承载持久磁盘规格和运行时跟踪。持久磁盘仅通过 YAML 清单声明;此配置不会在 Web UI 中公开。

  • 平台所需的 /var/cpaas 磁盘/var/cpaas 磁盘现在被记录为在 IP 槽位上配置的持久磁盘。它不再在 DCSMachineTemplate 中声明。

升级说明

现有集群可以按照 将现有 Huawei DCS 集群迁移到池管理持久磁盘 迁移到池管理持久磁盘模型。

v1.0.15 (2026-04-13)

新功能

  • Etcd 加密配置支持 — 为此 Provider 管理的集群实现了 etcd 加密配置的初始支持。注意:更完整的自动生成和密钥轮换流程随后在下一个主要版本线的 v1.0.9 中发布;将此条目视为该功能在 DCS 端的首次支持。

问题修复

  • Kube-OVN 协调时机 — 现在允许在控制平面节点仍处于部分初始化状态时进行 Kube-OVN 协调,从而避免初始集群启动期间的循环依赖问题。

增强

  • apiservice ServiceAccount 上的 imagePullSecrets — apiservice ServiceAccount 现在接受 imagePullSecrets,从而能够从需要身份验证的镜像仓库拉取镜像。

  • 内部工具链刷新 — 更新了内部 Kubernetes API 客户端库,以与更新的平台基线保持一致。

v1.0.14 (2026-03-06)

增强

  • OpenTelemetry SDK 升级 — 将 go.opentelemetry.io/otel/sdk 升级到 v1.40.0,以进行安全和维护更新。

v1.0.13 (2026-02-28)

新功能

  • DCS 代理 API — 新增代理 API,通过 Provider 暴露选定的 DCS 平台操作,从而简化不应直接访问 DCS 平台 API 的调用方的集成。

v1.0.12 (2026-02-10)

增强

  • Deployment 存储限制配置 — Provider Deployment 现在声明临时存储限制,防止控制器 Pod 无限制地占用节点磁盘空间。

v1.0.11 (2026-02-09)

新功能

  • 用于 ignition ISO 上传的专用 CD-ROM 数据存储 — DCS Provider 现在可以使用专用数据存储,通过 CD-ROM 设备上传 ignition ISO,从而在策略要求时将 ISO 存储与通用 VM 数据存储分离。

v1.0.10 (2026-01-22)

问题修复

  • CVE 补丁 — 修复了已内置依赖项中多个已披露的 CVE 问题。

v1.0.9 (2025-12-31)

新功能

  • 虚拟机上的多网卡 (NIC) 支持 — 集群节点可以配置多个 NIC,从而在同一 VM 上实现分离的控制、工作负载和存储网络。

  • 通过 MachineDeploymentKubeadmControlPlane 自定义节点元数据 — 可以在 MachineDeploymentKubeadmControlPlane 资源上声明节点标签、注解和污点。适用于平台版本 4.2.0 及更高版本。

增强

  • 自动 etcd 加密配置 — 加密配置在集群创建期间自动生成。etcd 密钥轮换后,控制平面升级期间无需手动干预。

问题修复

  • 此版本修复了多个安全问题。

v1.0.8 (2025-12-29)

新功能

  • 自动 etcd 加密配置(初始) — Provider 在集群启动期间自动生成 apiserver 加密配置。这是首次实现;完全自动的密钥轮换和轮换后控制平面升级行为在 v1.0.9 中描述。

问题修复

  • CoreDNS 配置修复 — 修复了通过此 Provider 创建的集群中的 CoreDNS 配置问题。

v1.0.7 (2025-07-09)

增强

  • 内部命名清理 — 调整了 Provider 组件命名以保持一致性。没有用户可见的 API 变更。

v1.0.6 (2025-07-04)

增强

  • DCSIpHostnamePool 删除注解 — Provider 现在在拆除期间在 DCSIpHostnamePool 资源上设置删除注解,从而提高删除流程的可审计性。

v1.0.5 (2025-07-02)

新功能

  • DCSMachine 删除的初始 retainVm 功能retainVm 能力的首次实现:删除 DCSMachine 时可配置为让底层 VM 继续在 DCS 中运行,而不是销毁它。此能力后来在 v1.0.18 中提升为 DCSMachine 上的正式注解。

v1.0.4 (2025-06-19)

增强

  • 删除 DCSMachineTemplate 时清理 DCSIpHostnamePool — 当移除 DCSMachineTemplate 时,关联的 DCSIpHostnamePool 现在会自动释放。

  • 从 DCS 插件中移除捆绑的 kubeadm 组件 — DCS Provider 不再附带自己捆绑的 kubeadm 组件;kubeadm bootstrap 通过平台标准的 Cluster API kubeadm Provider 处理。

v1.0.3 (2025-06-11)

新功能

  • DCSMachineTemplate 上的数据磁盘支持DCSMachineTemplate 接受系统磁盘之外的额外数据磁盘,允许按模板声明磁盘清单。

  • dcsctl CLI 实用工具dcsctl 的初始发布,这是一个用于 DCS 端操作的命令行实用工具(例如,后续版本中引用的手动 VM 停止和文件夹操作)。

v1.0.2 (2025-06-05)

新功能

  • ignition 配置中的 /etc/resolv.conf — Ignition userdata 现在会写入 /etc/resolv.conf,使集群节点在 bootstrap 时获取 DNS 设置,而无需启动后修复。

  • 生成 kubelet TLS 材料 — Provider 现在可以在节点置备期间生成 kubelet.crtkubelet.key,从而省去了此前 kubelet TLS bootstrap 所需的手动步骤。

v1.0.1 (2025-05-27)

增强

  • 初始 v1.0.0 发布后的稳定性补丁。没有用户可见的 API 变更。

v1.0.0 (2025-05-09)

概述

v1.0.0 是 Alauda Container Platform Huawei DCS Infrastructure Provider 的初始版本。该 Provider 为 Huawei DCS(也称为 FC / FusionCompute)平台实现了 Cluster API 模型,从而能够在 DCS 管理的虚拟化基础设施之上以声明式方式创建和管理 Kubernetes 集群。

初始功能集

  • Huawei DCS 上的集群生命周期 — 创建、扩缩容和删除以 DCS 作为基础设施后端的 Kubernetes 集群。

  • DCSClusterDCSMachineDCSMachineTemplateDCSIpHostnamePool CRD — 用于基于 DCS 的集群的声明式 API,包括通过 DCSIpHostnamePool 进行预留主机名和 IP 池管理。

  • 基于 Ignition 的节点 bootstrap — 节点 bootstrap 使用 ignition userdata。根据设计,DCS Provider 仅使用 ignition 作为 DCS 管理的 VM 的 bootstrap 机制。

  • 基于 Kubeadm 的控制平面和工作节点 bootstrap — 集群 bootstrap 与上游 Cluster API kubeadm bootstrap/控制平面模型保持一致。