From 5aba7c5b5b9b434cf505ccebbb4ac58f5f25d7d4 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 11 Jun 2022 20:46:06 +0800 Subject: [PATCH] [zh] resync config-and-storage-resources/csi-node-v1.md --- .../csi-node-v1.md | 566 ++++++++++++++++++ 1 file changed, 566 insertions(+) create mode 100644 content/zh-cn/docs/reference/kubernetes-api/config-and-storage-resources/csi-node-v1.md diff --git a/content/zh-cn/docs/reference/kubernetes-api/config-and-storage-resources/csi-node-v1.md b/content/zh-cn/docs/reference/kubernetes-api/config-and-storage-resources/csi-node-v1.md new file mode 100644 index 0000000000..a05152e1c5 --- /dev/null +++ b/content/zh-cn/docs/reference/kubernetes-api/config-and-storage-resources/csi-node-v1.md @@ -0,0 +1,566 @@ +--- +api_metadata: + apiVersion: "storage.k8s.io/v1" + import: "k8s.io/api/storage/v1" + kind: "CSINode" +content_type: "api_reference" +description: "CSINode 包含节点上安装的所有 CSI 驱动有关的信息。" +title: "CSINode" +weight: 9 +--- + + +`apiVersion: storage.k8s.io/v1` + +`import "k8s.io/api/storage/v1"` + +## CSINode {#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} + +CSINodeSpec 包含一个节点上安装的所有 CSI 驱动规约有关的信息。 + +
+ + +- **drivers** ([]CSINodeDriver),必需 + + **补丁策略:按照键 `name` 合并** + + drivers 是节点上存在的所有 CSI 驱动的信息列表。如果列表中的所有驱动均被卸载,则此字段可以为空。 + + + **CSINodeDriver 包含一个节点上安装的一个 CSI 驱动规约有关的信息。** + + - **drivers.name** (string),必需 + + 这是该对象引用的 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} + +CSINodeList 是 CSINode 对象的集合。 + +
+ +- **apiVersion**: storage.k8s.io/v1 + +- **kind**: CSINodeList + + +- **metadata** (}}">ListMeta) + + 标准的列表元数据。更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + +- **items** ([]}}">CSINode),必需 + + items 是 CSINode 的列表。 + + +## 操作 {#Operations} + +
+ +### `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 + + +#### 参数 +- **allowWatchBookmarks** (**查询参数**): boolean + + }}">allowWatchBookmarks + +- **continue** (**查询参数**): string + + }}">continue + +- **fieldSelector** (**查询参数**): string + + }}">fieldSelector + +- **labelSelector** (**查询参数**): string + + }}">labelSelector + +- **limit** (**查询参数**): integer + + }}">limit + +- **pretty** (**查询参数**): string + + }}">pretty + +- **resourceVersion** (**查询参数**): string + + }}">resourceVersion + +- **resourceVersionMatch** (**查询参数**): string + + }}">resourceVersionMatch + +- **timeoutSeconds** (**查询参数**): integer + + }}">timeoutSeconds + +- **watch** (**查询参数**): boolean + + }}">watch + + +#### 响应 +200 (}}">CSINodeList): OK + +401: Unauthorized + + +### `create` 创建 CSINode +#### HTTP 请求 + +POST /apis/storage.k8s.io/v1/csinodes + + +#### 参数 +- **body**: }}">CSINode,必需 + +- **dryRun** (**查询参数**): string + + }}">dryRun + +- **fieldManager** (**查询参数**): string + + }}">fieldManager + +- **fieldValidation** (**查询参数**): string + + }}">fieldValidation + +- **pretty** (**查询参数**): string + + }}">pretty + + +#### 响应 +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} + + +#### 参数 +- **name** (**路径参数**): string,必需 + + CSINode 的名称 + +- **body**: }}">DeleteOptions + +- **dryRun** (**查询参数**): string + + }}">dryRun + +- **gracePeriodSeconds** (**查询参数**): integer + + }}">gracePeriodSeconds + +- **pretty** (**查询参数**): string + + }}">pretty + +- **propagationPolicy** (**查询参数**): string + + }}">propagationPolicy + + +#### 响应 +200 (}}">CSINode): OK + +202 (}}">CSINode): Accepted + +401: Unauthorized + + +### `deletecollection` 删除 CSINode 的集合 +#### HTTP 请求 +DELETE /apis/storage.k8s.io/v1/csinodes + + +#### 参数 +- **body**: }}">DeleteOptions + +- **continue** (**查询参数**): string + + }}">continue + +- **dryRun** (**查询参数**): string + + }}">dryRun + +- **fieldSelector** (**查询参数**): string + + }}">fieldSelector + +- **gracePeriodSeconds** (**查询参数**): integer + + }}">gracePeriodSeconds + +- **labelSelector** (**查询参数**): string + + }}">labelSelector + +- **limit** (**查询参数**): integer + + }}">limit + +- **pretty** (**查询参数**): string + + }}">pretty + +- **propagationPolicy** (**查询参数**): string + + }}">propagationPolicy + +- **resourceVersion** (**查询参数**): string + + }}">resourceVersion + +- **resourceVersionMatch** (**查询参数**): string + + }}">resourceVersionMatch + +- **timeoutSeconds** (**查询参数**): integer + + }}">timeoutSeconds + + +#### 响应 +200 (}}">Status): OK + +401: Unauthorized \ No newline at end of file