apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"
CSINode 包含节点上安装的所有 CSI 驱动有关的信息。CSI 驱动不需要直接创建 CSINode 对象。只要这些驱动使用 node-driver-registrar 边车容器,kubelet 就会自动为 CSI 驱动填充 CSINode 对象,作为 kubelet 插件注册操作的一部分。CSINode 的名称与节点名称相同。如果不存在此对象,则说明该节点上没有可用的 CSI 驱动或 Kubelet 版本太低无法创建该对象。CSINode 包含指向相应节点对象的 OwnerReference。
apiVersion: storage.k8s.io/v1
kind: CSINode
metadata (ObjectMeta)
标准的对象元数据。metadata.name 必须是 Kubernetes 节点的名称。
spec (CSINodeSpec),必需
spec 是 CSINode 的规约。
CSINodeSpec 包含一个节点上安装的所有 CSI 驱动规约有关的信息。
drivers ([]CSINodeDriver),必需
补丁策略:按照键 name 合并
映射:键 name 的唯一值将在合并过程中保留
drivers 是节点上存在的所有 CSI 驱动的信息列表。如果列表中的所有驱动均被卸载,则此字段可以为空。
CSINodeDriver 包含一个节点上安装的一个 CSI 驱动规约有关的信息。
drivers.name (string),必需
name 表示该对象引用的 CSI 驱动的名称。此字段值必须是针对该驱动由 CSI GetPluginName() 调用返回的相同名称。
drivers.nodeID (string),必需
从驱动角度来看,这是节点的 nodeID。对于未与节点共享相同命名法的存储系统,此字段使得 Kubernetes 能够与之进行通信。例如,Kubernetes 可能将给定节点视为 "node1",但存储系统可以将同一节点视为 "nodeA"。当 Kubernetes 向存储系统发出一条命令将一个卷挂接到特定的节点时,它可以藉此字段使用存储系统所理解的 ID 引用节点名称,例如使用 “nodeA” 而不是 “node1”。此字段是必需的。
drivers.allocatable (VolumeNodeResources)
allocatable 表示一个节点上可供调度的卷资源。此字段处于 Beta 阶段。
VolumeNodeResources 是调度卷时所用的一组资源限制。
drivers.allocatable.count (int32)
这是一个节点上可使用的、由 CSI 驱动管理的独立卷个数的上限。挂接并挂载到一个节点上的卷被视为被使用一次,不是两次。相同的规则适用于同一个节点上多个 Pod 之间共享的同一个卷。如果未指定此字段,则该节点上支持的卷数量是无限的。
drivers.topologyKeys ([]string)
原子性:合并期间将被替换
topologyKeys 是驱动支持的键的列表。在集群上初始化一个驱动时,该驱动将提供一组自己理解的拓扑键(例如 “company.com/zone”、“company.com/region”)。在一个节点上初始化一个驱动时,该驱动将提供相同的拓扑键和值。Kubelet 将在其自己的节点对象上将这些拓扑键暴露为标签。当 Kubernetes 进行拓扑感知的制备时,可以使用此列表决定应从节点对象中检索哪些标签并传回驱动。不同的节点可以使用不同的拓扑键。如果驱动不支持拓扑,则此字段可以为空。
CSINodeList 是 CSINode 对象的集合。
apiVersion: storage.k8s.io/v1
kind: CSINodeList
metadata (ListMeta)
标准的列表元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]CSINode),必需
items 是 CSINode 的列表。
get 读取指定的 CSINodeGET /apis/storage.k8s.io/v1/csinodes/{name}
name (路径参数): string,必需
CSINode 的名称。
pretty (查询参数): string
200 (CSINode): OK
401: Unauthorized
list 列举或观测类别为 CSINode 的对象GET /apis/storage.k8s.io/v1/csinodes
allowWatchBookmarks (查询参数): boolean
continue (查询参数): string
fieldSelector (查询参数): string
labelSelector (查询参数): string
limit (查询参数): integer
pretty (查询参数): string
resourceVersion (查询参数): string
resourceVersionMatch (查询参数): string
sendInitialEvents (查询参数): boolean
timeoutSeconds (查询参数): integer
watch (查询参数): boolean
200 (CSINodeList): OK
401: Unauthorized
create 创建 CSINodePOST /apis/storage.k8s.io/v1/csinodes
body: CSINode,必需
dryRun (查询参数): string
fieldManager (查询参数): string
fieldValidation (查询参数): string
pretty (查询参数): string
200 (CSINode): OK
201 (CSINode): Created
202 (CSINode): Accepted
401: Unauthorized
update 替换指定的 CSINodePUT /apis/storage.k8s.io/v1/csinodes/{name}
name (路径参数): string,必需
CSINode 的名称。
body: CSINode,必需
dryRun (查询参数): string
fieldManager (查询参数): string
fieldValidation (查询参数): string
pretty (查询参数): string
200 (CSINode): OK
201 (CSINode): Created
401: Unauthorized
patch 部分更新指定的 CSINodePATCH /apis/storage.k8s.io/v1/csinodes/{name}
name (路径参数): string,必需
CSINode 的名称。
body: Patch,必需
dryRun (查询参数): string
fieldManager (查询参数): string
fieldValidation (查询参数): string
force (查询参数): boolean
pretty (查询参数): string
200 (CSINode): OK
201 (CSINode): Created
401: Unauthorized
delete 删除 CSINodeDELETE /apis/storage.k8s.io/v1/csinodes/{name}
name (路径参数): string,必需
CSINode 的名称。
body: DeleteOptions
dryRun (查询参数): string
gracePeriodSeconds (查询参数): integer
ignoreStoreReadErrorWithClusterBreakingPotential (查询参数): boolean
pretty (查询参数): string
propagationPolicy (查询参数): string
200 (CSINode): OK
202 (CSINode): Accepted
401: Unauthorized
deletecollection 删除 CSINode 的集合DELETE /apis/storage.k8s.io/v1/csinodes
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: Unauthorized