---
api_metadata:
apiVersion: "storage.k8s.io/v1"
import: "k8s.io/api/storage/v1"
kind: "StorageClass"
content_type: "api_reference"
description: "StorageClass 为可以动态制备 PersistentVolume 的存储类描述参数。"
title: "StorageClass"
weight: 6
---
`apiVersion: storage.k8s.io/v1`
`import "k8s.io/api/storage/v1"`
## StorageClass {#StorageClass}
StorageClass 为可以动态制备 PersistentVolume 的存储类描述参数。
StorageClass 是不受名字空间作用域限制的;按照 etcd 设定的存储类的名称位于 ObjectMeta.Name 中。
- **apiVersion**: storage.k8s.io/v1
- **kind**: StorageClass
- **metadata** (}}">ObjectMeta)
标准的对象元数据。更多信息:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **provisioner** (string),必需
provisioner 表示制备器的类别。
- **allowVolumeExpansion** (boolean)
allowVolumeExpansion 显示存储类是否允许卷扩充。
- **allowedTopologies** ([]TopologySelectorTerm)
**原子性:将在合并期间被替换**
allowedTopologies 限制可以动态制备卷的节点拓扑。每个卷插件定义其自己支持的拓扑规约。
空的 TopologySelectorTerm 列表意味着没有拓扑限制。
只有启用 VolumeScheduling 功能特性的服务器才能使用此字段。
**拓扑选择器条件表示标签查询的结果。
一个 null 或空的拓扑选择器条件不会匹配任何对象。各个条件的要求按逻辑与的关系来计算。
此选择器作为 NodeSelectorTerm 所提供功能的子集。此功能为 Alpha 特性,将来可能会变更。**
- **allowedTopologies.matchLabelExpressions** ([]TopologySelectorLabelRequirement)
按标签设置的拓扑选择器要求的列表。
**拓扑选择器要求是与给定标签匹配的一个选择器。此功能为 Alpha 特性,将来可能会变更。**
- **allowedTopologies.matchLabelExpressions.key** (string),必需
选择器所针对的标签键。
- **allowedTopologies.matchLabelExpressions.values** ([]string),必需
字符串数组。一个值必须与要选择的标签匹配。values 中的每个条目按逻辑或的关系来计算。
- **mountOptions** ([]string)
mountOptions 控制此存储类动态制备的 PersistentVolume 的挂载配置。
(例如 ["ro", "soft"])。
系统对选项作检查——如果有一个选项无效,则这些 PV 的挂载将失败。
- **parameters** (map[string]string)
parameters 包含应创建此存储类卷的制备器的参数。
- **reclaimPolicy** (string)
reclaimPolicy 控制此存储类动态制备的 PersistentVolume 的 reclaimPolicy。默认为 Delete。
- **volumeBindingMode** (string)
volumeBindingMode 指示应该如何制备和绑定 PersistentVolumeClaim。
未设置时,将使用 VolumeBindingImmediate。
只有启用 VolumeScheduling 功能特性的服务器才能使用此字段。
## StorageClassList {#StorageClassList}
StorageClassList 是存储类的集合。
- **apiVersion**: storage.k8s.io/v1
- **kind**: StorageClassList
- **metadata** (}}">ListMeta)
标准的列表元数据。更多信息:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **items** ([]}}">StorageClass),必需
items 是 StorageClass 的列表。
## 操作 {#Operations}
### `get` 读取指定的 StorageClass
#### HTTP 请求
GET /apis/storage.k8s.io/v1/storageclasses/{name}
#### 参数
- **name** (**路径参数**): string,必需
StorageClass 的名称
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">StorageClass): OK
401: Unauthorized
### `list` 列出或观测类别为 StorageClass 的对象
#### HTTP 请求
GET /apis/storage.k8s.io/v1/storageclasses
#### 参数
- **allowWatchBookmarks** (**查询参数**): boolean
}}">allowWatchBookmarks
- **continue** (**查询参数**): string
}}">continue
- **fieldSelector** (**查询参数**): string
}}">fieldSelector
- **labelSelector** (**查询参数**): string
}}">labelSelector
- **limit** (**查询参数**): integer
}}">limit
- **pretty** (**查询参数**): string
}}">pretty
- **resourceVersion** (**查询参数**): string
}}">resourceVersion
- **resourceVersionMatch** (**查询参数**): string
}}">resourceVersionMatch
- **sendInitialEvents** (**查询参数**): boolean
}}">sendInitialEvents
- **timeoutSeconds** (**查询参数**): integer
}}">timeoutSeconds
- **watch** (**查询参数**): boolean
}}">watch
#### 响应
200 (}}">StorageClassList): OK
401: Unauthorized
### `create` 创建 StorageClass
#### HTTP 请求
POST /apis/storage.k8s.io/v1/storageclasses
#### 参数
- **body**: }}">StorageClass,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">StorageClass): OK
201 (}}">StorageClass): Created
202 (}}">StorageClass): Accepted
401: Unauthorized
### `update` 替换指定的 StorageClass
#### HTTP 请求
PUT /apis/storage.k8s.io/v1/storageclasses/{name}
#### 参数
- **name** (**路径参数**): string,必需
StorageClass 的名称
- **body**: }}">StorageClass,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">StorageClass): OK
201 (}}">StorageClass): Created
401: Unauthorized
### `patch` 部分更新指定的 StorageClass
#### HTTP 请求
PATCH /apis/storage.k8s.io/v1/storageclasses/{name}
#### 参数
- **name** (**路径参数**): string,必需
StorageClass 的名称
- **body**: }}">Patch,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **force** (**查询参数**): boolean
}}">force
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">StorageClass): OK
201 (}}">StorageClass): Created
401: Unauthorized
### `delete` 删除 StorageClass
#### HTTP 请求
DELETE /apis/storage.k8s.io/v1/storageclasses/{name}
#### 参数
- **name** (**路径参数**): string,必需
StorageClass 的名称
- **body**: }}">DeleteOptions
- **dryRun** (**查询参数**): string
}}">dryRun
- **gracePeriodSeconds** (**查询参数**): integer
}}">gracePeriodSeconds
- **pretty** (**查询参数**): string
}}">pretty
- **propagationPolicy** (**查询参数**): string
}}">propagationPolicy
#### 响应
200 (}}">StorageClass): OK
202 (}}">StorageClass): Accepted
401: Unauthorized
### `deletecollection` 删除 StorageClass 的集合
#### HTTP 请求
DELETE /apis/storage.k8s.io/v1/storageclasses
#### 参数
- **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
- **sendInitialEvents** (**查询参数**): boolean
}}">sendInitialEvents
- **timeoutSeconds** (**查询参数**): integer
}}">timeoutSeconds
#### 响应
200 (}}">Status): OK
401: Unauthorized