前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rook v1.11 已发布,性能增强,主要变化在这里了

Rook v1.11 已发布,性能增强,主要变化在这里了

作者头像
我的小碗汤
发布2023-03-20 10:21:37
6080
发布2023-03-20 10:21:37
举报
文章被收录于专栏:我的小碗汤我的小碗汤

Rook v1.11 版本[1] 已经发布!v1.11 是一个功能丰富的版本。主要更新如下:

Ceph-CSI v3.8

Ceph-CSI 驱动程序的 v3.8 版本[2]现在是 Rook 默认部署的版本。该驱动程序有许多重要更新,以添加更多可供客户端使用的存储功能。

RBD 读取亲和性

根据 CRUSH map 中定义的 OSD 位置和节点上的拓扑标签,RBD 卷能够从靠近客户端的 OSD 读取数据。这些卷利用 krbd 映射选项[3] 来允许提供与附近 OSD 亲和性的读取。

例如,一个集群将有三个数据副本分布在区域 A、B 和 C。如果一个 pod 在区域 A 中运行,则该 pod 现在将从区域 A 中的 OSD 读取数据,而不是选择随机读取来自其他区域。因此,可以减少跨区域的流量并降低成本。

fscrypt 支持

为 RBD 和 CephFS 卷、快照和克隆添加了 fscrypt 支持。

Shallow 卷

ROX 卷现在默认启用 Shallow 卷。这意味着 CephFS 子卷快照可以作为常规只读 PVC 公开。不会执行任何数据克隆,并且会在恒定时间内完成此类卷的配置。

Msgr2 协议

Ceph msgr2 是较新的协议,通过它可以加密或压缩网络上的数据。虽然 msgr2 已被 Rook 用于许多版本,但由于对内核有要求,我们仍未将其设为默认协议。现在我们提供了一个选项,允许集群独占启用 msgr2。这将允许在需要时配置集群以进行加密和压缩。我们建议所有具有 5.11 或更高版本内核的集群启用此功能,因为在这种情况下不再需要 msgr1 协议。

从以前版本的 Rook 升级的集群也可以启用 msgr2。升级后的集群只需要一个额外的步骤来禁用 msgr1。启用 msgr2 设置后,所有 mons 都需要进行故障转移[4] 才能开始使用 msgr2 支持,并且需要重新安装卷以获取更改。

Ceph Exporter

Ceph 引入了一个新的守护进程,用于在大型集群中收集指标的可扩展性。Ceph Exporter[5]是一个守护进程,运行在每个节点上,用于收集 Ceph 守护进程报告的性能计数器。然后,Prometheus 将为计数器抓取每个 Exporter 守护进程的指标。Ceph mgr 守护进程不再是报告指标的可扩展性瓶颈。

使用重叠网络进行镜像

在配置跨集群镜像[6]时,两个集群必须可以跨网络寻址。虽然最常见的解决方案是使用主机网络,但这并不总是需要的。现在,可以使用多集群服务 (MCS) API 跨具有重叠 CIDR 的集群配置镜像。使用全局 IP 从 Pod 到远程服务配置跨集群连接。我们已经使用Submariner Globalnet[7]测试了这个解决方案。

该解决方案需要为 mons 和 OSD 使用全局 IP,这将允许跨集群和集群内的 RADOS 操作进行通信。虽然 Rook v1.11 具有支持此配置所需的更改,但该功能将需要 Ceph 更改,该更改将与 Ceph v17.2.6 一起发布(希望很快)。

OSD 加密密钥轮换

我们一直期待增强 OSD 加密的一项功能是轮换加密密钥的能力。密钥轮换确保即使加密密钥被泄露,静态数据也不会被泄露,因为密钥经常轮换。轮换是在加密密钥上执行的,这意味着轮换时不需要重新加密数据。

在 v1.11 发布时,我们仍在对该功能进行最终审查和测试,敬请期待补丁发布!当轮换可用时,请参阅密钥管理系统[8]文档以了解使用情况。初始功能将仅支持存储在 K8s Secret 中的密钥的轮换。我们也将很快添加对 KMS 解决方案的轮换支持。

桶通知和主题

在 Rook v1.8 中,我们以实验模式发布了对象存储的Bucket 通知和主题[9]现在,在 v1.11 中,我们已将该功能声明为 stable。经社区反馈,通知和主题在生产中运行良好!

Ceph Mgr 就绪探针

Ceph Mgr 就绪探测是我们想要调用的内部改进。为了管理活动和备用 Ceph mgr 守护进程,我们之前在 mgr pod 上实现了一个 sidecar,以便在活动 Ceph mgr 发生变化时更新 mgr 服务。现在,通过在 mgr 上使用 readiness probe 简化了这一过程,这样 K8s 将自动处理保持服务与活动 mgr 的更新,不需要 sidecar 了。

Krew 插件

Rook Krew 插件[10]是我们去年创建的一个工具,用于帮助对集群进行故障排除和维护。我们希望您发现此工具有用,并期待您的反馈!最新的 Krew 插件 v0.4 版本[11] 添加了一个命令,用于帮助从多个 mon 丢失的灾难中恢复,并从单个 mon 恢复 mon quorum。

请继续关注插件的更多更新。我们正在添加更多故障排除命令,并为即将发布的新版本重新设计一些内部结构!

Kubernetes v1.21+

Kubernetes v1.21 现在是 Rook 支持的最低版本,这意味着我们针对 v1.21 和更新的版本运行了 CI 测试。如果您仍然需要运行旧的 K8s 版本,我们没有采取任何措施来阻止运行 Rook,我们只是没有对旧版本进行任何测试验证。

PSP 已禁用

随着 PSP 在 K8s 1.21 中的弃用和在 1.25 中的移除,我们决定是时候在 helm chart 中默认禁用 PSP 了。我们还删除了启用 PSP 的文档,因为我们不希望再使用它们。如果您仍然需要,请参考v1.10 Rook 文档[12]

参考资料

[1]

v1.11 版本: https://github.com/rook/rook/releases/tag/v1.11.0

[2]

Ceph-CSI 驱动程序的 v3.8 版本: https://github.com/ceph/ceph-csi/releases/tag/v3.8.0

[3]

krbd 映射选项: https://docs.ceph.com/en/latest/man/8/rbd/#kernel-rbd-krbd-options

[4]

故障转移: https://rook.io/docs/rook/latest/Storage-Configuration/Advanced/ceph-mon-health/#failing-over-a-monitor

[5]

Exporter: https://github.com/rook/rook/blob/master/design/ceph/ceph-exporter.md

[6]

镜像: https://rook.github.io/docs/rook/v1.11/Storage-Configuration/Block-Storage-RBD/rbd-mirroring/

[7]

Submariner Globalnet: https://submariner.io/getting-started/architecture/globalnet/

[8]

密钥管理系统: https://rook.github.io/docs/rook/v1.11/Storage-Configuration/Advanced/key-management-system/

[9]

Bucket 通知和主题: https://rook.io/docs/rook/latest/Storage-Configuration/Object-Storage-RGW/ceph-object-bucket-notifications/

[10]

Rook Krew 插件: https://github.com/rook/kubectl-rook-ceph

[11]

v0.4 版本: https://github.com/rook/kubectl-rook-ceph/releases/tag/v0.4.0

[12]

v1.10 Rook 文档: https://rook.io/docs/rook/v1.10/Getting-Started/Prerequisites/pod-security-policies/

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ceph-CSI v3.8
  • RBD 读取亲和性
  • fscrypt 支持
  • Shallow 卷
  • Msgr2 协议
    • Ceph Exporter
      • 使用重叠网络进行镜像
      • OSD 加密密钥轮换
      • 桶通知和主题
        • Ceph Mgr 就绪探针
          • Krew 插件
            • Kubernetes v1.21+
              • PSP 已禁用
                • 参考资料
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档