CSINode

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

apiVersion: storage.k8s.io/v1

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

CSINode

CSINode 包含有关安装在节点上的所有 CSI 驱动程序的信息。CSI 驱动程序不需要直接创建 CSINode 对象。只要它们使用 node-driver-registrar sidecar 容器,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), 必填

    补丁策略:在 key name 上合并

    映射:在合并期间将保留 key 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)

        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}

Parameters

  • name (在路径中): string, 必需

    CSINode 的名称

  • pretty (在查询中): string

    pretty

响应

200 (CSINode): OK

401: 未授权

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

HTTP 请求

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

Parameters

响应

200 (CSINodeList): OK

401: 未授权

create 创建一个 CSINode

HTTP 请求

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

Parameters

响应

200 (CSINode): OK

201 (CSINode): Created

202 (CSINode): Accepted

401: 未授权

update 替换指定的 CSINode

HTTP 请求

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

Parameters

  • name (在路径中): string, 必需

    CSINode 的名称

  • body: CSINode, 必填

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • pretty (在查询中): string

    pretty

响应

200 (CSINode): OK

201 (CSINode): Created

401: 未授权

patch 部分更新指定的 CSINode

HTTP 请求

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

Parameters

  • name (在路径中): string, 必需

    CSINode 的名称

  • body: Patch, 必需

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (在查询中): string

    pretty

响应

200 (CSINode): OK

201 (CSINode): Created

401: 未授权

delete 删除一个 CSINode

HTTP 请求

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

Parameters

响应

200 (CSINode): OK

202 (CSINode): Accepted

401: 未授权

deletecollection 删除 CSINode 集合

HTTP 请求

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

Parameters

响应

200 (Status): 确定

401: 未授权


上次修改时间:2025 年 4 月 9 日下午 6:36 PST:更新 v1.32 的 API 参考文档 (a3b579d035)

本页面是自动生成的。

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