本文章已超過一年。較舊的文章可能包含過時的內容。請確認頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.27:PersistentVolumes 的單一 Pod 存取模式晉升 Beta 版
隨著 Kubernetes v1.27 的發布,ReadWriteOncePod 功能已進入 Beta 階段。在這篇部落格文章中,我們將更深入地了解此功能、其作用,以及在 Beta 版本中的演變。
什麼是 ReadWriteOncePod?
ReadWriteOncePod 是 Kubernetes v1.22 中引入的 PersistentVolumes (PVs) 和 PersistentVolumeClaims (PVCs) 的一種新存取模式。這種存取模式可讓您將磁碟區存取限制為叢集中的單個 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 sidecars 更新到這些版本或更高版本
若要開始使用 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
如果您的儲存外掛程式支援動態佈建,則將會建立新的 PersistentVolumes,並套用 ReadWriteOncePod 存取模式。
閱讀 遷移現有的 PersistentVolumes,以取得有關遷移現有磁碟區以使用 ReadWriteOncePod 的詳細資訊。
如何了解更多資訊?
請參閱 Alpha 部落格文章 和 KEP-2485,以取得有關 ReadWriteOncePod 存取模式以及 CSI 規格變更動機的更多詳細資訊。
如何參與?
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)。我們正在快速成長,隨時歡迎新的貢獻者。