CSI 磁碟區複製
本文件說明在 Kubernetes 中複製現有 CSI 磁碟區的概念。建議您先熟悉磁碟區。
簡介
CSI 磁碟區複製功能新增了指定現有 PVC 在 dataSource
欄位中的支援,以指示使用者想要複製磁碟區。
複製定義為現有 Kubernetes 磁碟區的副本,可以像任何標準磁碟區一樣使用。唯一的區別在於,在佈建時,後端裝置不是建立「新」的空磁碟區,而是建立指定磁碟區的精確副本。
從 Kubernetes API 的角度來看,複製的實作新增了在建立新 PVC 期間將現有 PVC 指定為 dataSource 的能力。來源 PVC 必須已綁定且可用 (未使用中)。
使用此功能時,使用者需要注意以下事項
- 複製支援 (
VolumePVCDataSource
) 僅適用於 CSI 驅動程式。 - 複製支援僅適用於動態佈建器。
- CSI 驅動程式可能已實作或未實作磁碟區複製功能。
- 您只能在 PVC 存在於與目的地 PVC 相同的命名空間時複製 PVC (來源和目的地必須在相同的命名空間中)。
- 使用不同的儲存類別支援複製。
- 目的地磁碟區可以是與來源相同的儲存類別,也可以是不同的儲存類別。
- 可以使用預設儲存類別,並且可以在 spec 中省略 storageClassName。
- 複製只能在兩個使用相同 VolumeMode 設定的磁碟區之間執行 (如果您請求區塊模式磁碟區,則來源也必須是區塊模式)
佈建
複製的佈建方式與任何其他 PVC 相同,但新增了參考相同命名空間中現有 PVC 的 dataSource 除外。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: clone-of-pvc-1
namespace: myns
spec:
accessModes:
- ReadWriteOnce
storageClassName: cloning
resources:
requests:
storage: 5Gi
dataSource:
kind: PersistentVolumeClaim
name: pvc-1
注意
您必須為spec.resources.requests.storage
指定容量值,並且您指定的值必須與來源磁碟區的容量相同或更大。結果是一個新的 PVC,名稱為 clone-of-pvc-1
,其內容與指定的來源 pvc-1
完全相同。
用法
在新的 PVC 可用後,複製的 PVC 的使用方式與其他 PVC 相同。此時也預期新建立的 PVC 是一個獨立的物件。它可以獨立使用、複製、建立快照或刪除,而無需考慮其原始 dataSource PVC。這也表示來源未以任何方式連結到新建立的複製,來源也可以修改或刪除,而不會影響新建立的複製。
上次修改時間為太平洋標準時間 2023 年 6 月 1 日下午 9:14:調整 storage/ 中的換行 (2886944017)