Kubernetes 1.27:持久卷的单个 Pod 访问模式升级到 Beta

2023年 7月 11日 36.2k 0

作者:Chris Henzie (Google)

译者:顾欣 (ICBC)

随着 Kubernetes v1.27 的发布,ReadWriteOncePod 功能已经升级为 Beta 版。
在这篇博客文章中,我们将更详细地介绍这个功能,作用以及在 Beta 版本中的发展。

什么是 ReadWriteOncePod

ReadWriteOncePod 是 Kubernetes 在 v1.22 中引入的一种新的访问模式,
适用于 PersistentVolume(PVs)
和 PersistentVolumeClaim(PVCs)。
此访问模式使你能够将存储卷访问限制在集群中的单个 Pod 上,确保一次只有一个 Pod 可以写入存储卷。
这可能对需要单一写入者访问存储的有状态工作负载特别有用。

要了解有关访问模式和 ReadWriteOncePod 如何工作的更多背景信息,
请阅读 2021 年介绍 PersistentVolume 的单个 Pod 访问模式的文章中的什么是访问模式和为什么它们如此重要?。

ReadWriteOncePod 的 Beta 版中变化

ReadWriteOncePod Beta 版为使用 ReadWriteOncePod PVC 的 Pod 添加调度器抢占。

调度器抢占允许更高优先级的 Pod 抢占较低优先级的 Pod,以便它们可以在同一节点上运行。
在此版本中,如果更高优先级的 Pod 需要相同的 PVC,使用 ReadWriteOncePod PVCs 的 Pod 也可以被抢占。

如何开始使用 ReadWriteOncePod?

随着 ReadWriteOncePod 现已升级为 Beta 版,在 v1.27 及更高版本的集群中将默认启用该功能。

请注意,ReadWriteOncePod 仅支持 CSI 卷。
在使用此功能之前,你需要将以下 CSI Sidecars更新至以下版本或更高版本:

  • csi-provisioner:v3.0.0+
  • csi-attacher:v3.3.0+
  • csi-resizer:v1.3.0+

要开始使用 ReadWriteOncePod,请创建具有 ReadWriteOncePod 访问模式的 PVC:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: single-writer-only
spec:
  accessModes:
  - ReadWriteOncePod #仅允许一个容器访问且独占写入权限。
  resources:
    requests:
      storage: 1Gi

如果你的存储插件支持动态制备,
新创建的持久卷将应用 ReadWriteOncePod 访问模式。

阅读迁移现有持久卷
以了解如何迁移现有卷以使用 ReadWriteOncePod。

如何了解更多信息?

请查看 Alpha 版博客和
KEP-2485
以了解关于 ReadWriteOncePod 访问模式的更多详细信息以及对 CSI 规约作更改的动机。

如何参与?

Kubernetes #csi Slack频道以及任何常规的
SIG 存储沟通渠道
都是联系 SIG 存储和 CSI 团队的最佳途径。

特别感谢以下人士的仔细的审查和反馈,帮助完成了这个功能:

  • Abdullah Gharaibeh (ahg-g)
  • Aldo Culquicondor (alculquicondor)
  • Antonio Ojea (aojea)
  • David Eads (deads2k)
  • Jan Šafránek (jsafrane)
  • Joe Betz (jpbetz)
  • Kante Yin (kerthcet)
  • Michelle Au (msau42)
  • Tim Bannister (sftim)
  • Xing Yang (xing-yang)

如果您有兴趣参与 CSI 或 Kubernetes 存储系统的任何部分的设计和开发,
请加入 Kubernetes 存储特别兴趣小组(SIG)。
我们正在迅速发展,始终欢迎新的贡献者。

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论