本文发布已超过一年。较旧的文章可能包含过时内容。请检查页面中的信息自发布以来是否仍然准确。

Kubernetes 1.29:PersistentVolumes 的单一 Pod 访问模式进阶为稳定版

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

什么是 ReadWriteOncePod

ReadWriteOncePod 是在 Kubernetes v1.22 中引入的 PersistentVolumes (PV) 和 PersistentVolumeClaims (PVC) 的访问模式。这种访问模式允许您将卷访问限制到集群中的单个 Pod,确保在同一时间只有一个 Pod 可以写入卷。这对于需要单写入器访问存储的有状态工作负载特别有用。

要了解更多关于访问模式以及 ReadWriteOncePod 如何工作的信息,请阅读 2021 年发表的《为 PersistentVolumes 引入单 Pod 访问模式》一文中的 什么是访问模式以及它们为何重要? 部分。

如何开始使用 ReadWriteOncePod

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

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

要开始使用 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

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

阅读迁移现有 PersistentVolumes 以获取将现有卷迁移为使用 ReadWriteOncePod 的详细信息。

如何了解更多?

有关 ReadWriteOncePod 访问模式以及 CSI 规范更改动机的更多详细信息,请参阅博客文章 Alpha 版本Beta 版本KEP-2485

如何参与进来?

Kubernetes #csi Slack 频道以及任何标准的 SIG Storage 沟通渠道都是联系 SIG Storage 和 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 Storage 特别兴趣小组 (SIG)。我们正在快速发展,并且始终欢迎新的贡献者。