×
描述

CSINode 包含有关安装在节点上的所有 CSI 驱动程序的信息。CSI 驱动程序不需要直接创建 CSINode 对象。只要它们使用 node-driver-registrar sidecar 容器,kubelet 就会在 kubelet 插件注册的一部分中自动填充 CSI 驱动程序的 CSINode 对象。CSINode 与节点具有相同的名称。如果缺少该对象,则表示节点上没有任何 CSI 驱动程序可用,或者 Kubelet 版本过低,无法创建此对象。CSINode 具有指向相应节点对象的 OwnerReference。

类型

对象

必需
  • spec

规格

属性 类型 描述

apiVersion

字符串

APIVersion 定义此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。metadata.name 必须是 Kubernetes 节点名称。

spec

对象

CSINodeSpec 包含有关安装在节点上的所有 CSI 驱动程序规范的信息

.spec

描述

CSINodeSpec 包含有关安装在节点上的所有 CSI 驱动程序规范的信息

类型

对象

必需
  • drivers

属性 类型 描述

drivers

数组

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

drivers[]

对象

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

.spec.drivers

描述

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

类型

数组

.spec.drivers[]

描述

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

类型

对象

必需
  • name

  • nodeID

属性 类型 描述

allocatable

对象

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

name

字符串

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

nodeID

字符串

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

topologyKeys

数组 (字符串)

topologyKeys 是驱动程序支持的键列表。当在集群上初始化驱动程序时,它会提供一组它理解的拓扑键(例如,“company.com/zone”、“company.com/region”)。当在节点上初始化驱动程序时,它会提供相同的拓扑键以及值。Kubelet 将这些拓扑键作为标签公开在其自己的节点对象上。当 Kubernetes 进行拓扑感知配置时,它可以使用此列表来确定应从节点对象检索哪些标签并传回给驱动程序。不同的节点可以使用不同的拓扑键。如果驱动程序不支持拓扑,则可以为空。

.spec.drivers[].allocatable

描述

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

类型

对象

属性 类型 描述

count

整数

count 指示 CSI 驱动程序可以管理并在节点上使用的唯一卷的最大数量。已挂载到节点上的卷被认为只使用一次,而不是两次。对于在同一节点上的多个 Pod 之间共享的唯一卷,也适用相同的规则。如果未指定此字段,则此节点上支持的卷数不受限制。

API 端点

提供以下 API 端点:

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

    • DELETE:删除 CSINode 集合

    • GET:列出或监视 CSINode 对象

    • POST:创建 CSINode

  • /apis/storage.k8s.io/v1/watch/csinodes

    • GET:监视 CSINode 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

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

    • DELETE:删除 CSINode

    • GET:读取指定的 CSINode

    • PATCH:部分更新指定的 CSINode

    • PUT:替换指定的 CSINode

  • /apis/storage.k8s.io/v1/watch/csinodes/{name}

    • GET:监视 CSINode 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。

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

HTTP 方法

DELETE

描述

删除 CSINode 集合

表 1. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出或监视 CSINode 对象

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINodeList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 CSINode

表 4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 5. 请求体参数
参数 类型 描述

body

CSINode 模式

表 6. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINode 模式

201 - 已创建

CSINode 模式

202 - 已接受

CSINode 模式

401 - 未授权

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

HTTP 方法

GET

描述

监视 CSINode 列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

表 7. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

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

表 8. 全局路径参数
参数 类型 描述

name

字符串

CSINode 的名称

HTTP 方法

DELETE

描述

删除 CSINode

表 9. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 10. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINode 模式

202 - 已接受

CSINode 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 CSINode

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINode 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 CSINode

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 13. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINode 模式

201 - 已创建

CSINode 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 CSINode

表 14. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段之外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 15. 请求体参数
参数 类型 描述

body

CSINode 模式

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

CSINode 模式

201 - 已创建

CSINode 模式

401 - 未授权

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

表 17. 全局路径参数
参数 类型 描述

name

字符串

CSINode 的名称

HTTP 方法

GET

描述

监视 CSINode 对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权