第 4 章 CSIStorageCapacity [storage.k8s.io/v1]


描述

CSIStorageCapacity 存储一个 CSI GetCapacity 调用的结果。对于给定的 StorageClass,这描述了特定拓扑片段中的可用容量。在考虑在什么位置来实例化新的 PersistentVolume 时,可以使用它。

例如,这可表达类似: - StorageClass "standard" 在 "topology.kubernetes.io/zone=us-east1" - StorageClass "localssd" 中可用的 "10 GiB" 带有 "kubernetes.io/hostname=knode-abc123"

以下三种情况都表示,没有容量可用于特定的组合: - 没有合适的拓扑和存储类名称的对象 - 这种对象存在,但容量未设置 - 此类对象存在,但存在容量为零。

这些对象的生成者可以决定哪个方法更合适。

当 CSI 驱动程序选择使用 CSIDriverSpec.StorageCapacity 进行容量感知调度时,kube-scheduler 会消耗它们。调度程序将 MaximumVolumeSize 与请求的待处理卷的大小进行比较,以过滤掉不适合的节点。如果未设置 MaximumVolumeSize,它会回退到与不太精确容量的比较。如果也未设置,调度程序会假定容量不足,并尝试某些其他节点。

类型
object
必填
  • storageClassName

4.1. 规格

属性类型描述

apiVersion

字符串

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

capacity

数量

capacity 是 CSI 驱动程序为其 GetCapacityRequest 中报告的值,其带有与上一字段匹配的 topology 和 parameters。

目前,语义(CSI spec 1.2)定义为:可用于置备卷的存储的可用容量(以字节为单位)。如果没有设置,则信息当前不可用。

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

maximumVolumeSize

数量

maximumVolumeSize 是 CSI 驱动程序在 GetCapacityResponse 中报告的值,用于带有与上一字段匹配的 GetCapacityRequest 和参数。

这是定义,因为 CSI spec 1.4.0 是可在 CreateVolumeRequest.capacity_range.required_bytes 字段中使用的最大大小来创建与 GetCapacityRequest 中参数相同的卷。Kubernetes API 中对应的值为 ResourceRequirements.Requests 在卷声明中。

metadata

ObjectMeta

标准对象元数据。名称没有特定含义。它必须是 DNS 子域(允许 253 个字符)。为确保集群中没有与其他 CSI 驱动程序冲突,建议使用 csisc-<uuid>、生成的名称或以唯一 CSI 驱动程序名称结尾的反向域名。

对象是 namespaced。

更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

nodeTopology

LabelSelector

NodeTopology 定义哪些节点有权访问报告容量的存储。如果没有设置,则无法从集群中的任何节点访问存储。如果为空,可从所有节点访问存储。此字段不可变。

storageClassName

string

storageClassName 代表所报告容量应用到的 StorageClass 名称。它必须满足与 StorageClass 对象的名称相同的要求(非空,DNS 子域)。如果该对象不再存在,CSIStorageCapacity 对象已过时,应该通过其创建者删除。此字段不可变。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.