卷屬性類
Kubernetes v1.34 [穩定]
(預設啟用:true)本頁面假設你熟悉 Kubernetes 中的 StorageClasses、卷和 PersistentVolumes。
VolumeAttributesClass 為管理員提供了一種描述他們所提供的可變儲存“類別”的方式。不同的類別可能對映到不同的服務質量級別。Kubernetes 本身對這些類別所代表的含義沒有意見。
此功能自 1.34 版起普遍可用 (GA),使用者可以選擇停用它。
你只能將 VolumeAttributesClass 與由 容器儲存介面 支援的儲存一起使用,並且僅限於相關的 CSI 驅動程式實現了 ModifyVolume
API 的情況。
VolumeAttributesClass API
每個 VolumeAttributesClass 都包含 driverName
和 parameters
,當屬於該類別的 PersistentVolume (PV) 需要動態建立或修改時,會使用這些資訊。
VolumeAttributesClass 物件的名稱很重要,它決定了使用者如何請求特定類別。管理員在首次建立 VolumeAttributesClass 物件時設定類別的名稱和其他引數。雖然 PersistentVolumeClaim
中 VolumeAttributesClass 物件的名稱是可變的,但現有類別中的引數是不可變的。
apiVersion: storage.k8s.io/v1
kind: VolumeAttributesClass
metadata:
name: silver
driverName: pd.csi.storage.gke.io
parameters:
provisioned-iops: "3000"
provisioned-throughput: "50"
Provisioner
每個 VolumeAttributesClass 都有一個 provisioner,它決定了用於配置 PV 的卷外掛。必須指定 driverName
欄位。
VolumeAttributesClass 的功能支援在 kubernetes-csi/external-provisioner 中實現。
你不僅限於指定 kubernetes-csi/external-provisioner。你還可以執行和指定外部 provisioner,它們是遵循 Kubernetes 定義規範的獨立程式。外部 provisioner 的作者對其程式碼的儲存位置、provisioner 的釋出方式、執行方式、使用的卷外掛等擁有完全的自由裁量權。
要了解 provisioner 如何與 VolumeAttributesClass 配合使用,請參閱 CSI 外部 provisioner 文件。
Resizer
每個 VolumeAttributesClass 都有一個 resizer,它決定了用於修改 PV 的卷外掛。必須指定 driverName
欄位。
VolumeAttributesClass 的修改卷功能支援在 kubernetes-csi/external-resizer 中實現。
例如,一個現有的 PersistentVolumeClaim 正在使用名為 silver 的 VolumeAttributesClass
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pv-claim
spec:
…
volumeAttributesClassName: silver
…
叢集中有一個新的 VolumeAttributesClass gold 可用
apiVersion: storage.k8s.io/v1
kind: VolumeAttributesClass
metadata:
name: gold
driverName: pd.csi.storage.gke.io
parameters:
iops: "4000"
throughput: "60"
終端使用者可以使用新的 VolumeAttributesClass gold 更新 PVC 並應用
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pv-claim
spec:
…
volumeAttributesClassName: gold
…
要了解 resizer 如何與 VolumeAttributesClass 配合使用,請參閱 CSI 外部 resizer 文件。
引數
VolumeAttributeClasses 具有描述其所屬卷的引數。根據 provisioner 或 resizer 的不同,可能會接受不同的引數。例如,引數 iops
的值 4000
和引數 throughput
是 GCE PD 特有的。當省略引數時,在卷配置時使用預設值。如果使用者使用具有省略引數的不同 VolumeAttributesClass 應用 PVC,則引數的預設值可能會根據 CSI 驅動程式的實現而使用。有關更多詳細資訊,請參閱相關的 CSI 驅動程式文件。
一個 VolumeAttributesClass 最多可以定義 512 個引數。引數物件的總長度(包括其鍵和值)不能超過 256 KiB。