CSINode

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

apiVersion: storage.k8s.io/v1

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

CSINode

CSINode 包含节点上所有 CSI 驱动程序的信息。CSI 驱动程序不需要直接创建 CSINode 对象。只要它们使用 node-driver-registrar 边车容器,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 合并

    映射:在合并过程中将保留键名上的唯一值

    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}

参数

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

    CSINode 的名称

  • pretty (在查询中): 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}

参数

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

    CSINode 的名称

  • body: CSINode, 必填

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • pretty (在查询中): string

    pretty

响应

200 (CSINode): 成功

201 (CSINode): 已创建

401: 未授权

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): 成功

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): OK

401: 未授权

本页面是自动生成的。

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

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