CSI儲存容量
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 物件的集合。
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}
參數
回應
200 (CSIStorageCapacity): OK
401: 未經授權
list
列出或監看種類為 CSIStorageCapacity 的物件
HTTP 請求
GET /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
參數
namespace (在路徑中): 字串, 必填
allowWatchBookmarks (在查詢中): 布林值
continue (在查詢中): 字串
fieldSelector (在查詢中): 字串
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
watch (在查詢中): 布林值
回應
200 (CSIStorageCapacityList): OK
401: 未經授權
list
列出或監看種類為 CSIStorageCapacity 的物件
HTTP 請求
GET /apis/storage.k8s.io/v1/csistoragecapacities
參數
allowWatchBookmarks (在查詢中): 布林值
continue (在查詢中): 字串
fieldSelector (在查詢中): 字串
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
watch (在查詢中): 布林值
回應
200 (CSIStorageCapacityList): OK
401: 未經授權
create
建立 CSIStorageCapacity
HTTP 請求
POST /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
參數
namespace (在路徑中): 字串, 必填
body: CSIStorageCapacity, 必填
dryRun (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
pretty (在查詢中): 字串
回應
200 (CSIStorageCapacity): OK
201 (CSIStorageCapacity): 已建立
202 (CSIStorageCapacity): 已接受
401: 未經授權
update
取代指定的 CSIStorageCapacity
HTTP 請求
PUT /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
參數
name (在路徑中): 字串, 必填
CSIStorageCapacity 的名稱
namespace (在路徑中): 字串, 必填
body: CSIStorageCapacity, 必填
dryRun (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
pretty (在查詢中): 字串
回應
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 (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
force (在查詢中): 布林值
pretty (在查詢中): 字串
回應
200 (CSIStorageCapacity): OK
201 (CSIStorageCapacity): 已建立
401: 未經授權
delete
刪除 CSIStorageCapacity
HTTP 請求
DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}
參數
name (在路徑中): 字串, 必填
CSIStorageCapacity 的名稱
namespace (在路徑中): 字串, 必填
body: DeleteOptions
dryRun (在查詢中): 字串
gracePeriodSeconds (in query): integer
pretty (在查詢中): 字串
propagationPolicy (in query): string
回應
200 (Status): OK
202 (Status): Accepted
401: 未經授權
deletecollection
刪除 CSIStorageCapacity 集合
HTTP 請求
DELETE /apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities
參數
namespace (在路徑中): 字串, 必填
body: DeleteOptions
continue (在查詢中): 字串
dryRun (在查詢中): 字串
fieldSelector (在查詢中): 字串
gracePeriodSeconds (in query): integer
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
propagationPolicy (in query): string
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
回應
200 (Status): OK
401: 未經授權
此頁面為自動生成。
如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動生成。 修正可能需要在 Kubernetes 專案的其他地方進行。