Kubernetes 1.29:持久卷的单 Pod 访问模式升级为稳定版

随着 Kubernetes v1.29 的发布,ReadWriteOncePod 卷访问模式已升级为正式可用:它是 Kubernetes 稳定 API 的一部分。在这篇博文中,我将仔细研究这种访问模式及其作用。

什么是 ReadWriteOncePod

ReadWriteOncePod 是 Kubernetes v1.22 中引入的 PersistentVolumes (PV) 和 PersistentVolumeClaims (PVC) 的一种访问模式。这种访问模式使您可以将卷访问限制为集群中的单个 Pod,从而确保一次只有一个 Pod 可以写入该卷。这对于需要对存储进行单写入器访问的有状态工作负载尤其有用。

有关访问模式以及 ReadWriteOncePod 如何工作的更多上下文,请阅读 2021 年的《为 PersistentVolumes 引入单 Pod 访问模式》文章中的 什么是访问模式以及它们为什么重要?

我如何开始使用 ReadWriteOncePod

ReadWriteOncePod 卷访问模式在 Kubernetes v1.27 及更高版本中默认可用。在 Kubernetes v1.29 及更高版本中,Kubernetes API 始终识别此访问模式。

请注意,仅 CSI 卷支持 ReadWriteOncePod,并且在使用此功能之前,您需要将以下 CSI sidecars 更新到以下版本或更高版本

要开始使用 ReadWriteOncePod,您需要创建一个具有 ReadWriteOncePod 访问模式的 PVC

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: single-writer-only
spec:
  accessModes:
  - ReadWriteOncePod # Allows only a single pod to access single-writer-only.
  resources:
    requests:
      storage: 1Gi

如果您的存储插件支持 动态配置,则将创建新的 PersistentVolumes 并应用 ReadWriteOncePod 访问模式。

请阅读 迁移现有 PersistentVolumes,了解有关迁移现有卷以使用 ReadWriteOncePod 的详细信息。

我如何了解更多?

有关 ReadWriteOncePod 访问模式和 CSI 规范更改的动机的更多详细信息,请参阅博文 alphabetaKEP-2485

我如何参与?

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)。我们正在快速发展,并始终欢迎新的贡献者。