本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
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
如果你的儲存外掛支援動態製備,新的 PersistentVolume 將在建立時應用 ReadWriteOncePod 訪問模式。
有關遷移現有卷以使用 ReadWriteOncePod 的詳細資訊,請閱讀遷移現有 PersistentVolume。
我如何瞭解更多資訊?
有關 ReadWriteOncePod 訪問模式以及 CSI 規範更改動機的更多詳細資訊,請參閱 Alpha 版博文和 KEP-2485。
我如何參與?
若要聯絡 SIG Storage 和 CSI 團隊,Kubernetes #csi Slack 頻道以及任何標準的 SIG Storage 溝通渠道都是很好的媒介。
特別感謝以下人員,他們的深思熟慮的評審和反饋幫助塑造了此功能:
- 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)。我們正在迅速發展,並隨時歡迎新的貢獻者。