CSINode

CSINode 包含节点上安装的所有 CSI 驱动有关的信息。

apiVersion: storage.k8s.io/v1

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

CSINode

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

CSINodeSpec 包含一个节点上安装的所有 CSI 驱动规约有关的信息。


  • drivers ([]CSINodeDriver),必需

    补丁策略:按照键 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

CSINodeList 是 CSINode 对象的集合。


操作


get 读取指定的 CSINode

HTTP 请求

GET /apis/storage.k8s.io/v1/csinodes/{name}

参数

  • name (路径参数): string,必需

    CSINode 的名称

  • pretty (查询参数): string

    pretty

响应

200 (CSINode): OK

401: Unauthorized

list 列出或观测类别为 CSINode 的对象

HTTP 请求

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

参数

响应

200 (CSINodeList): OK

401: Unauthorized

create 创建 CSINode

HTTP 请求

POST /apis/storage.k8s.io/v1/csinodes

参数

响应

200 (CSINode): OK

201 (CSINode): Created

202 (CSINode): Accepted

401: Unauthorized

update 替换指定的 CSINode

HTTP 请求

PUT /apis/storage.k8s.io/v1/csinodes/{name}

参数

  • name (路径参数): string,必需

    CSINode 的名称

  • body: CSINode,必需

  • dryRun (查询参数): string

    dryRun

  • fieldManager (查询参数): string

    fieldManager

  • fieldValidation (查询参数): string

    fieldValidation

  • pretty (查询参数): string

    pretty

响应

200 (CSINode): OK

201 (CSINode): Created

401: Unauthorized

patch 部分更新指定的 CSINode

HTTP 请求

PATCH /apis/storage.k8s.io/v1/csinodes/{name}

参数

  • name (路径参数): string,必需

    CSINode 的名称

  • body: Patch,必需

  • dryRun (查询参数): string

    dryRun

  • fieldManager (查询参数): string

    fieldManager

  • fieldValidation (查询参数): string

    fieldValidation

  • force (查询参数): boolean

    force

  • pretty (查询参数): string

    pretty

响应

200 (CSINode): OK

201 (CSINode): Created

401: Unauthorized

delete 删除 CSINode

HTTP 请求

DELETE /apis/storage.k8s.io/v1/csinodes/{name}

参数

响应

200 (CSINode): OK

202 (CSINode): Accepted

401: Unauthorized

deletecollection 删除 CSINode 的集合

HTTP 请求

DELETE /apis/storage.k8s.io/v1/csinodes

参数

响应

200 (Status): OK

401: Unauthorized