CSIStorageCapacity
apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
CSIStorageCapacity
CSIStorageCapacity 儲存一次 CSI GetCapacity 呼叫的結果。對於給定的 StorageClass,此物件描述特定拓撲段中可用的容量。在考慮例項化新的 PersistentVolume 時,可以使用此物件。
例如,它可以表達以下資訊: - StorageClass "standard" 在 "topology.kubernetes.io/zone=us-east1" 中有 "1234 GiB" 可用容量 - StorageClass "localssd" 在 "kubernetes.io/hostname=knode-abc123" 中有 "10 GiB" 可用容量
以下三種情況都表示某種組合沒有可用容量: - 不存在具有合適拓撲和儲存類名稱的物件 - 存在此類物件,但容量未設定 - 存在此類物件,但容量為零
這些物件的生產者可以決定哪種方法更合適。
當 CSI 驅動程式透過 CSIDriverSpec.StorageCapacity 選擇支援容量感知的排程時,kube-scheduler 會使用這些物件。排程器會將 MaximumVolumeSize 與待處理卷的請求大小進行比較,以過濾掉不合適的節點。如果 MaximumVolumeSize 未設定,它將回退到與不那麼精確的 Capacity 進行比較。如果 Capacity 也未設定,排程器將假定容量不足並嘗試其他節點。
apiVersion: storage.k8s.io/v1
kind: CSIStorageCapacity
metadata (ObjectMeta)
標準物件的元資料。名稱沒有特殊含義。它必須是 DNS 子域名(允許使用點,最長 253 個字元)。為確保與叢集上其他 CSI 驅動程式不衝突,建議使用 csisc-<uuid>、生成的名稱或以唯一 CSI 驅動程式名稱結尾的反向域名。
物件是名稱空間的。
更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
storageClassName (string),必需
storageClassName 表示所報告容量適用的 StorageClass 的名稱。它必須滿足與 StorageClass 物件名稱相同的要求(非空,DNS 子域名)。如果該物件不再存在,則 CSIStorageCapacity 物件已過時,應由其建立者刪除。此欄位不可變。
capacity (Quantity)
capacity 是 CSI 驅動程式在其 GetCapacityResponse 中報告的值,對應於拓撲和引數與前述欄位匹配的 GetCapacityRequest。
其語義目前(CSI 規範 1.2)定義為:可用於配置卷的儲存的可用容量,以位元組為單位。如果未設定,則表示該資訊目前不可用。
maximumVolumeSize (Quantity)
maximumVolumeSize 是 CSI 驅動程式在其 GetCapacityResponse 中報告的值,對應於拓撲和引數與前述欄位匹配的 GetCapacityRequest。
自 CSI 規範 1.4.0 起,這被定義為在 CreateVolumeRequest.capacity_range.required_bytes 欄位中可用於建立具有與 GetCapacityRequest 中相同引數的卷的最大大小。Kubernetes API 中對應的欄位是卷宣告中的 ResourceRequirements.Requests。
nodeTopology (LabelSelector)
nodeTopology 定義了哪些節點可以訪問報告容量的儲存。如果未設定,則叢集中的任何節點都無法訪問該儲存。如果為空,則所有節點都可以訪問該儲存。此欄位不可變。
CSIStorageCapacityList
CSIStorageCapacityList 是 CSIStorageCapacity 物件的集合。
apiVersion: storage.k8s.io/v1
kind: CSIStorageCapacityList
metadata (ListMeta)
標準列表元資料 更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]CSIStorageCapacity),必需
items 是 CSIStorageCapacity 物件的列表。
操作
get
讀取指定的 CSIStorageCapacity
HTTP 請求
GET /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
引數
name (在路徑中): string,必填
CSIStorageCapacity 的名稱
namespace (在路徑中): string,必填
pretty (在查詢中): string
響應
200 (CSIStorageCapacity):成功
401: 未授權
list
列出或監視 CSIStorageCapacity 型別的物件
HTTP 請求
GET /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
引數
namespace (在路徑中): string,必填
allowWatchBookmarks (在查詢中): boolean
continue (在查詢中): string
fieldSelector (在查詢中): string
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
watch (在查詢中): boolean
響應
200 (CSIStorageCapacityList):成功
401: 未授權
list
列出或監視 CSIStorageCapacity 型別的物件
HTTP 請求
GET /apis/storage.k8s.io/v1/csistoragecapacities
引數
allowWatchBookmarks (在查詢中): boolean
continue (在查詢中): string
fieldSelector (在查詢中): string
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
watch (在查詢中): boolean
響應
200 (CSIStorageCapacityList):成功
401: 未授權
create
建立 CSIStorageCapacity
HTTP 請求
POST /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
引數
namespace (在路徑中): string,必填
body: CSIStorageCapacity,必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
pretty (在查詢中): string
響應
200 (CSIStorageCapacity):成功
201 (CSIStorageCapacity):已建立
202 (CSIStorageCapacity):已接受
401: 未授權
update
替換指定的 CSIStorageCapacity
HTTP 請求
PUT /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
引數
name (在路徑中): string,必填
CSIStorageCapacity 的名稱
namespace (在路徑中): string,必填
body: CSIStorageCapacity,必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
pretty (在查詢中): string
響應
200 (CSIStorageCapacity):成功
201 (CSIStorageCapacity):已建立
401: 未授權
patch
部分更新指定的 CSIStorageCapacity
HTTP 請求
PATCH /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
引數
name (在路徑中): string,必填
CSIStorageCapacity 的名稱
namespace (在路徑中): string,必填
body: Patch,必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
force (在查詢中): boolean
pretty (在查詢中): string
響應
200 (CSIStorageCapacity):成功
201 (CSIStorageCapacity):已建立
401: 未授權
delete
刪除 CSIStorageCapacity
HTTP 請求
DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
引數
name (在路徑中): string,必填
CSIStorageCapacity 的名稱
namespace (在路徑中): string,必填
body: DeleteOptions
dryRun (在查詢中): string
gracePeriodSeconds (在查詢中): integer
ignoreStoreReadErrorWithClusterBreakingPotential (在查詢中): boolean
pretty (在查詢中): string
propagationPolicy (在查詢中): string
響應
200 (Status): OK
202 (Status): 已接受
401: 未授權
deletecollection
刪除 CSIStorageCapacity 集合
HTTP 請求
DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
引數
namespace (在路徑中): string,必填
body: DeleteOptions
continue (在查詢中): string
dryRun (在查詢中): string
fieldSelector (在查詢中): string
gracePeriodSeconds (在查詢中): integer
ignoreStoreReadErrorWithClusterBreakingPotential (在查詢中): boolean
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
propagationPolicy (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
響應
200 (Status): OK
401: 未授權
本頁面是自動生成的。
如果你打算報告此頁面存在的問題,請在問題描述中提及此頁面是自動生成的。修復可能需要在 Kubernetes 專案的其他地方進行。