rook v1.14.0 版本更新介绍
发布日期: 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 镜像单独指定
repository
和tag
设置。此前通过image
设置指定 CSI 镜像的 Helm 用户需更新 values.yaml 文件以使用独立的repository
和tag
配置。 - 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.25 至 v1.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
andtag
settings are specified separately in the helm chart values.yaml for the CSI images. Helm users previously specifying the CSI images with theimage
setting will need to update their values.yaml with the separaterepository
andtag
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 newrook-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.