发布日期: 2024-04-03
版本号: v1.14.0

Rook v1.14版本升级指南及重要更新:升级前需参考官方升级文档。主要变更包括:最低Kubernetes版本要求提升至v1.25;Helm Chart中CSI镜像配置需改用独立的repository和tag字段;开始弃用CSI网络holder插件容器,需根据文档调整配置;移除CSI_ENABLE_READ_AFFINITY参数,需通过CephCluster配置替代。新特性包含支持Kubernetes v1.25至v1.29版本,引入rook-ceph-default服务账户,支持CephBlockPool自定义应用配置,允许对象存储共享元数据池和数据池,新增RBD/CephFS的卷快照组支持,支持S3虚拟主机样式访问,可配置CSI驱动前缀,新增Azure密钥保管库KMS集成,并优化了kubectl对CRD资源的展示列。需注意未来版本将强制要求迁移holder容器配置。

更新内容 (中文)

升级指南

如需从 Rook 旧版本升级,请参阅 Rook 升级指南

重大变更

  • Kubernetes 最低支持版本提升至 v1.25。升级 Rook 前需先升级 Kubernetes 至 v1.25 或更高版本。
  • Helm chart 的 values.yaml 文件中现需为 CSI 镜像单独指定 repositorytag 设置。此前通过 image 设置指定 CSI 镜像的 Helm 用户需更新 values.yaml 文件以使用独立的 repositorytag 配置。
  • Rook 开始弃用 CSI 网络 “holder” Pod。若 Rook operator 命名空间中存在名为 csi-*plugin-holder-* 的 Pod,请参考 holder Pod 弃用文档 进行禁用。v1.14 版本中受影响集群的迁移为可选操作,但未来版本将强制要求。
  • 移除 Rook operator 配置项 CSI_ENABLE_READ_AFFINITY。若 v1.13 集群已将该值修改为 "true",需按 文档说明 在每个 CephCluster 中按需设置此选项后方可升级至 v1.14。

新功能

  • 支持 Kubernetes v1.25v1.29 版本,K8s v1.30 将在发布后立即支持。
  • 使用 default 服务账号的 Ceph 守护进程 Pod 现改用新建的 rook-ceph-default 服务账号。
  • 可为 CephBlockPool CR 应用自定义 Ceph application
  • 支持通过 共享元数据池和数据池 创建对象存储。通过 RADOS 命名空间实现对象存储间隔离。建议在创建多个对象存储时使用此配置以限制存储池数量。
  • RBD 和 CephFS CSI 驱动程序支持 VolumeSnapshotGroup 功能。
  • 通过为对象存储添加 hosting.dnsNames 配置项,支持 CephObjectStore 中 S3 存储桶的虚拟主机风格访问。
  • 可为 CSI 驱动程序和 OBC 配置器指定静态前缀(默认前缀为 rook-ceph 命名空间)。
  • 新增 Azure Key Vault KMS 支持 用于存储 OSD 加密密钥。
  • 为 Rook CRD 的 kubectl 输出添加额外状态列。

更新内容 (原始)

Upgrade Guide

To upgrade from previous versions of Rook, see the Rook upgrade guide.

Breaking Changes

  • The minimum supported version of Kubernetes is v1.25. Upgrade to Kubernetes v1.25 or higher before upgrading Rook.
  • The image repository and tag settings are specified separately in the helm chart values.yaml for the CSI images. Helm users previously specifying the CSI images with the image setting will need to update their values.yaml with the separate repository and tag settings.
  • Rook is beginning the process of deprecating CSI network “holder” pods. If there are pods named csi-*plugin-holder-* in the Rook operator namespace, see the holder pod deprecation documentation to disable them. Migration of affected clusters is optional for v1.14, but will be required in a future release.
  • The Rook operator config CSI_ENABLE_READ_AFFINITY was removed. v1.13 clusters that have modified this value to be "true" must set the option as desired in each CephCluster as documented here before upgrading to v1.14.

Features

  • Kubernetes versions v1.25 through v1.29 are supported. K8s v1.30 will be supported as soon as released.
  • Ceph daemon pods using the default service account now use a new rook-ceph-default service account.
  • A custom Ceph application can be applied to a CephBlockPool CR.
  • Object stores can be created with shared metadata and data pools. Isolation between object stores is enabled via RADOS namespaces. This configuration is recommended to limit the number of pools when multiple object stores are created.
  • Support for VolumeSnapshotGroup is available for the RBD and CephFS CSI drivers.
  • Support for virtual style hosting for s3 buckets is added in the CephObjectStore, by adding hosting.dnsNames to the object store.
  • A static prefix can be specified for the CSI drivers and OBC provisioner (the default prefix is the rook-ceph namespace).
  • Azure Key Vault KMS support is added for storing OSD encryption keys.
  • Additional status columns added to the kubectl output for Rook CRDs.

下载链接