CSI儲存容量

CSIStorageCapacity 儲存一個 CSI GetCapacity 呼叫的結果。

apiVersion: storage.k8s.io/v1

import "k8s.io/api/storage/v1"

CSI儲存容量

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 (字串), 必填

    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 物件的集合。


操作


get 讀取指定的 CSIStorageCapacity

HTTP 請求

GET /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}

參數

  • name (在路徑中): 字串, 必填

    CSIStorageCapacity 的名稱

  • namespace (在路徑中): 字串, 必填

    命名空間

  • pretty (在查詢中): 字串

    pretty

回應

200 (CSIStorageCapacity): OK

401: 未經授權

list 列出或監看種類為 CSIStorageCapacity 的物件

HTTP 請求

GET /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities

參數

回應

200 (CSIStorageCapacityList): OK

401: 未經授權

list 列出或監看種類為 CSIStorageCapacity 的物件

HTTP 請求

GET /apis/storage.k8s.io/v1/csistoragecapacities

參數

回應

200 (CSIStorageCapacityList): OK

401: 未經授權

create 建立 CSIStorageCapacity

HTTP 請求

POST /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities

參數

回應

200 (CSIStorageCapacity): OK

201 (CSIStorageCapacity): 已建立

202 (CSIStorageCapacity): 已接受

401: 未經授權

update 取代指定的 CSIStorageCapacity

HTTP 請求

PUT /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}

參數

回應

200 (CSIStorageCapacity): OK

201 (CSIStorageCapacity): 已建立

401: 未經授權

patch 部分更新指定的 CSIStorageCapacity

HTTP 請求

PATCH /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}

參數

  • name (在路徑中): 字串, 必填

    CSIStorageCapacity 的名稱

  • namespace (在路徑中): 字串, 必填

    命名空間

  • body: Patch, 必填

  • dryRun (在查詢中): 字串

    dryRun

  • fieldManager (在查詢中): 字串

    fieldManager

  • fieldValidation (在查詢中): 字串

    fieldValidation

  • force (在查詢中): 布林值

    force

  • pretty (在查詢中): 字串

    pretty

回應

200 (CSIStorageCapacity): OK

201 (CSIStorageCapacity): 已建立

401: 未經授權

delete 刪除 CSIStorageCapacity

HTTP 請求

DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}

參數

回應

200 (Status): OK

202 (Status): Accepted

401: 未經授權

deletecollection 刪除 CSIStorageCapacity 集合

HTTP 請求

DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities

參數

回應

200 (Status): OK

401: 未經授權

此頁面為自動生成。

如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動生成。 修正可能需要在 Kubernetes 專案的其他地方進行。

Last modified August 28, 2024 at 6:01 PM PST: Update generated API reference for v1.31 (8ba98c79c1)