Rook v1.17 现已发布,此版本带来了众多特性,以改进 Kubernetes 的存储能力。
之前在 Rook v1.16 中加入了一些 ObjectBucketClaim 选项,允许用户更灵活地控制存储桶,实现 S3 策略的自助服务。但管理员可能会认为这种灵活性存在风险,具体取决于环境。Rook 现在默认禁用这些选项,以确保开箱即用的最安全配置。
要启用完整的 OBC 配置范围,需要设置新的参数 ROOK_OBC_ALLOW_ADDITIONAL_CONFIG_FIELDS,从而允许用户设置所有这些选项。
ROOK_OBC_ALLOW_ADDITIONAL_CONFIG_FIELDS
Rook 为 CephObjectStoreUser 资源添加了完善的凭证管理功能,支持多组凭证和声明式凭证轮换。
因此,通过 CephObjectStoreUser 资源配置的现有 S3 用户不再允许底层 S3 用户存在多组凭证,除非 Rook 显式管理。Rook 将清除所有未声明的凭证,只保留一个。 对于手动编辑/轮换 CephObjectStoreUser 的 S3 用户凭证的管理员而言,这可能是一个回归问题。受影响的用户可以使用新的凭证管理功能作为替代方案。
现在可以将现有的 Ceph RGW 用户账户设置为 ObjectBucketClaim (OBC) 的 Bucket Owner,而无需为每个 Bucket 创建一个独立的 RGW 用户。 可以使用 CephObjectStoreUser 资源创建将在 OBC 中指定的 Ceph RGW 用户帐户。 如果 Bucket Owner 设置在已存在且由不同用户拥有的 Bucket 上,则 Bucket 将重新链接到指定的用户。
Ceph 最近添加了对配置使用 Kafka 主题进行 Bucket 通知时认证机制的支持。可以通过设置 Bucket 通知 Kafka 部分的 mechanism 字段来配置。
Ceph CSI 版本为 RBD 和 CephFS 卷、卷快照等诸多方面提供了许多特性和改进。
Ceph CSI operator 仍处于积极开发阶段,项目团队决定在此版本中将其保持在实验模式,计划将等到 Rook v1.18 版本才默认启用。 额外的测试时间将有助于确保从 Rook 的 CSI 驱动程序编排到 CSI operator 的平稳过渡。
在此期间,鼓励用户通过以下两个步骤在测试集群中启用 CSI operator 来帮助验证:
使用 csi-operator.yaml[5] 安装 CSI operator。 这将创建必要的 Ceph-CSI Operator CRD 并启动新的 operator。
通过在 rook-ceph-operator-config configmap 中设置ROOK_USE_CSI_OPERATOR: “true”来启用 Rook 使用 CSI operator。
ROOK_USE_CSI_OPERATOR: “true”
Rook 将自动创建必要的 CR 来配置 Ceph CSI operator。
在某些双数据中心集群中,无法在独立的 K8s 节点上启动仲裁器 mon 来配置正确的伸展集群。 外部 mons 现在允许在 Kubernetes 集群外部配置 mon,而 Rook 管理集群内部的一切。 此功能目前处于实验模式。
在 mon 故障转移发生网络或其他中断时,mon 列表可能会发生变化。 CSI 驱动程序会自动处理集群内部卷的情况。 现在动态 DNS 解析允许集群外部的客户端通过 DNS 解析 mon 端点,而无需手动更新 mon 端点列表。 这有助于虚拟机实时迁移等场景。Ceph 客户端可以连接到 rook-ceph-active-mons.<namespace>.svc.cluster.local 以动态解析 mon 端点并在 mon IP 更改时自动更新。
ceph.conf 覆盖现在可以按节点自定义。 这对于某些需要根据硬件在每个节点上保持唯一的 ceph.conf 设置可能很有帮助。 可以通过创建节点特定的 configmap 来配置,该 configmap 将加载到该节点上的所有 OSD 和 OSD 准备作业,而不是从 rook-config-override configmap 加载的默认设置。
节点特定的 configmap 必须具有以下标签:
node.config.rook.io/osd
configmap 必须遵循以下命名约定:
rook-config-override-<hostname>
Kubernetes v1.28 现在是 Rook 支持的最低版本,直到最新的 K8s 发布版本 v1.33(即将发布)。Rook CI 在这些版本上运行测试,以确保持 Kubernetes 更新过程中没有问题。
更多详情可查看官方公告。
评论删除后,数据将无法恢复
Rook v1.17 发布,存储增强
Rook v1.17 现已发布,此版本带来了众多特性,以改进 Kubernetes 的存储能力。
对象存储
ObjectBucketClaims 默认安全
之前在 Rook v1.16 中加入了一些 ObjectBucketClaim 选项,允许用户更灵活地控制存储桶,实现 S3 策略的自助服务。但管理员可能会认为这种灵活性存在风险,具体取决于环境。Rook 现在默认禁用这些选项,以确保开箱即用的最安全配置。
要启用完整的 OBC 配置范围,需要设置新的参数
ROOK_OBC_ALLOW_ADDITIONAL_CONFIG_FIELDS,从而允许用户设置所有这些选项。CephObjectStoreUser 凭证管理
Rook 为 CephObjectStoreUser 资源添加了完善的凭证管理功能,支持多组凭证和声明式凭证轮换。
因此,通过 CephObjectStoreUser 资源配置的现有 S3 用户不再允许底层 S3 用户存在多组凭证,除非 Rook 显式管理。Rook 将清除所有未声明的凭证,只保留一个。 对于手动编辑/轮换 CephObjectStoreUser 的 S3 用户凭证的管理员而言,这可能是一个回归问题。受影响的用户可以使用新的凭证管理功能作为替代方案。
Bucket Owner
现在可以将现有的 Ceph RGW 用户账户设置为 ObjectBucketClaim (OBC) 的 Bucket Owner,而无需为每个 Bucket 创建一个独立的 RGW 用户。 可以使用 CephObjectStoreUser 资源创建将在 OBC 中指定的 Ceph RGW 用户帐户。 如果 Bucket Owner 设置在已存在且由不同用户拥有的 Bucket 上,则 Bucket 将重新链接到指定的用户。
Kafka 认证机制
Ceph 最近添加了对配置使用 Kafka 主题进行 Bucket 通知时认证机制的支持。可以通过设置 Bucket 通知 Kafka 部分的 mechanism 字段来配置。
CSI
Ceph CSI 3.14
Ceph CSI 版本为 RBD 和 CephFS 卷、卷快照等诸多方面提供了许多特性和改进。
Ceph CSI Operator
Ceph CSI operator 仍处于积极开发阶段,项目团队决定在此版本中将其保持在实验模式,计划将等到 Rook v1.18 版本才默认启用。 额外的测试时间将有助于确保从 Rook 的 CSI 驱动程序编排到 CSI operator 的平稳过渡。
在此期间,鼓励用户通过以下两个步骤在测试集群中启用 CSI operator 来帮助验证:
使用 csi-operator.yaml[5] 安装 CSI operator。 这将创建必要的 Ceph-CSI Operator CRD 并启动新的 operator。
通过在 rook-ceph-operator-config configmap 中设置
ROOK_USE_CSI_OPERATOR: “true”来启用 Rook 使用 CSI operator。Rook 将自动创建必要的 CR 来配置 Ceph CSI operator。
Mon Endpoints
外部 Mons
在某些双数据中心集群中,无法在独立的 K8s 节点上启动仲裁器 mon 来配置正确的伸展集群。 外部 mons 现在允许在 Kubernetes 集群外部配置 mon,而 Rook 管理集群内部的一切。 此功能目前处于实验模式。
Mons 的 DNS 解析
在 mon 故障转移发生网络或其他中断时,mon 列表可能会发生变化。 CSI 驱动程序会自动处理集群内部卷的情况。 现在动态 DNS 解析允许集群外部的客户端通过 DNS 解析 mon 端点,而无需手动更新 mon 端点列表。 这有助于虚拟机实时迁移等场景。Ceph 客户端可以连接到 rook-ceph-active-mons.<namespace>.svc.cluster.local 以动态解析 mon 端点并在 mon IP 更改时自动更新。
Ceph Config
节点特定的 node.conf 覆盖
ceph.conf 覆盖现在可以按节点自定义。 这对于某些需要根据硬件在每个节点上保持唯一的 ceph.conf 设置可能很有帮助。 可以通过创建节点特定的 configmap 来配置,该 configmap 将加载到该节点上的所有 OSD 和 OSD 准备作业,而不是从 rook-config-override configmap 加载的默认设置。
节点特定的 configmap 必须具有以下标签:
node.config.rook.io/osdconfigmap 必须遵循以下命名约定:
rook-config-override-<hostname>版本
Kubernetes v1.28 — v1.33
Kubernetes v1.28 现在是 Rook 支持的最低版本,直到最新的 K8s 发布版本 v1.33(即将发布)。Rook CI 在这些版本上运行测试,以确保持 Kubernetes 更新过程中没有问题。
更多详情可查看官方公告。