CSINode

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

apiVersion: storage.k8s.io/v1

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

CSINode

CSINode 包含有关安装在节点上的所有 CSI 驱动程序的信息。CSI 驱动程序不需要直接创建 CSINode 对象。只要它们使用 node-driver-registrar Sidecar 容器,Kubelet 就会在 Kubelet 插件注册过程中为 CSI 驱动程序自动填充 CSINode 对象。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 合并

    Map:合并时将保留基于键 name 的唯一值

    drivers 是节点上所有现有 CSI 驱动程序信息的列表。如果列表中的所有驱动程序都被卸载,此字段可以为空。

    CSINodeDriver 包含安装在节点上的一个 CSI 驱动程序的规范信息

    • drivers.name (string), 必需

      name 表示此对象引用的 CSI 驱动程序的名称。此名称必须与该驱动程序的 CSI GetPluginName() 调用返回的名称相同。

    • drivers.nodeID (string), 必需

      从驱动程序角度看节点的 nodeID。此字段使 Kubernetes 能够与节点命名规则不同的存储系统进行通信。例如,Kubernetes 可能将某个节点称为 "node1",但存储系统可能将同一节点称为 "nodeA"。当 Kubernetes 向存储系统发出命令以将卷附加到特定节点时,可以使用此字段引用存储系统可理解的节点名称,例如 "nodeA" 而不是 "node1"。此字段为必需字段。

    • drivers.allocatable (VolumeNodeResources)

      allocatable 表示节点上可用于调度的卷资源。此字段处于 beta 阶段。

      VolumeNodeResources 是用于卷调度的一组资源限制。

      • drivers.allocatable.count (int32)

        count 表示 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 (in path): string, 必需

    CSINode 的名称

  • pretty (in query): string

    pretty

响应

200 (CSINode): 成功

401: 未授权

list 列出或监控 CSINode 类型的对象

HTTP 请求

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

参数

响应

200 (CSINodeList): 成功

401: 未授权

create 创建一个 CSINode

HTTP 请求

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

参数

响应

200 (CSINode): 成功

201 (CSINode): 已创建

202 (CSINode): 已接受

401: 未授权

update 替换指定的 CSINode

HTTP 请求

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

参数

响应

200 (CSINode): 成功

201 (CSINode): 已创建

401: 未授权

patch 部分更新指定的 CSINode

HTTP 请求

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

参数

  • name (in path): string, 必需

    CSINode 的名称

  • body: Patch, 必需

  • dryRun (in query): string

    dryRun

  • fieldManager (in query): string

    fieldManager

  • fieldValidation (in query): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (in query): string

    pretty

响应

200 (CSINode): 成功

201 (CSINode): 已创建

401: 未授权

delete 删除一个 CSINode

HTTP 请求

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

参数

响应

200 (CSINode): 成功

202 (CSINode): 已接受

401: 未授权

deletecollection 删除 CSINode 集合

HTTP 请求

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

参数

响应

200 (Status): 成功

401: 未授权

此页面为自动生成。

如果您计划报告此页面的问题,请在问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

最后修改时间:2025 年 4 月 9 日下午 6:36 (太平洋标准时间): 更新 v1.32 的 API 参考文档 (a3b579d035)