卷屬性類

特性狀態: Kubernetes v1.34 [穩定] (預設啟用:true)

本頁面假設你熟悉 Kubernetes 中的 StorageClassesPersistentVolumes

VolumeAttributesClass 為管理員提供了一種描述他們所提供的可變儲存“類別”的方式。不同的類別可能對映到不同的服務質量級別。Kubernetes 本身對這些類別所代表的含義沒有意見。

此功能自 1.34 版起普遍可用 (GA),使用者可以選擇停用它。

你只能將 VolumeAttributesClass 與由 容器儲存介面 支援的儲存一起使用,並且僅限於相關的 CSI 驅動程式實現了 ModifyVolume API 的情況。

VolumeAttributesClass API

每個 VolumeAttributesClass 都包含 driverNameparameters,當屬於該類別的 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。

上次修改時間:2025 年 7 月 29 日下午 6:02 PST:KEP-3751 VolumeAttributesClass 1.34 GA 文件更新 (2d15dba7b5)