本文章已超過一年。較舊的文章可能包含過時的內容。請確認頁面中的資訊自發布以來是否已變得不正確。

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)。我們正在快速成長,隨時歡迎新的貢獻者。