本文发表时间已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已不正确。
Kubernetes 1.27:PersistentVolumes 的单 Pod 访问模式升级为 Beta 版
随着 Kubernetes v1.27 的发布,ReadWriteOncePod 功能已升级为 beta 版。在本博文中,我们将仔细研究此功能,它的作用以及它在 beta 版本中的演变过程。
什么是 ReadWriteOncePod?
ReadWriteOncePod 是 Kubernetes v1.22 中引入的 PersistentVolumes (PV) 和 PersistentVolumeClaims (PVC) 的一种新的访问模式。此访问模式允许您将卷访问限制为集群中的单个 Pod,从而确保一次只有一个 Pod 可以写入该卷。这对于需要单写器访问存储的有状态工作负载尤其有用。
有关访问模式以及 ReadWriteOncePod 如何工作的更多信息,请阅读 2021 年《为 PersistentVolumes 引入单 Pod 访问模式》文章中的什么是访问模式以及它们为什么重要?。
ReadWriteOncePod beta 版的更改
ReadWriteOncePod beta 版增加了对使用 ReadWriteOncePod PVC 的 Pod 进行调度器抢占的支持。
调度器抢占允许优先级较高的 Pod 抢占优先级较低的 Pod,以便它们可以在同一节点上开始运行。在此版本中,如果优先级较高的 Pod 需要相同的 PVC,则使用 ReadWriteOncePod PVC 的 Pod 也可以被抢占。
如何开始使用 ReadWriteOncePod?
随着 ReadWriteOncePod 现在处于 beta 版,它将在 v1.27 及更高版本的集群中默认启用。
请注意,ReadWriteOncePod 仅支持 CSI 卷。在使用此功能之前,您需要将以下 CSI sidecar 更新到这些版本或更高版本
要开始使用 ReadWriteOncePod,请使用 ReadWriteOncePod 访问模式创建 PVC
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: single-writer-only
spec:
accessModes:
- ReadWriteOncePod # Allow only a single pod to access single-writer-only.
resources:
requests:
storage: 1Gi
如果您的存储插件支持动态配置,则将创建应用了 ReadWriteOncePod 访问模式的新 PersistentVolume。
请阅读迁移现有 PersistentVolume,了解有关将现有卷迁移到使用 ReadWriteOncePod 的详细信息。
如何了解更多信息?
有关 ReadWriteOncePod 访问模式以及 CSI 规范更改的原因的更多详细信息,请参见alpha 版博客文章和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 存储特别兴趣小组 (SIG)。我们正在迅速发展,并且始终欢迎新的贡献者。