第 4 章 ClusterCSIDriver [operator.openshift.io/v1]
- 描述
- ClusterCSIDriver 对象允许在 OpenShift 中默认安装的 CSI 驱动程序 Operator 管理和配置。对象的名称必须是它所运行的 CSI 驱动程序的名称。如需允许的值列表,请参阅 CSIDriverName 类型。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
4.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec 包含用于配置的用户可设置值 |
|
| status 包含从集群中观察到的值。它们可能无法被覆盖。 |
4.1.1. .spec
- 描述
- spec 包含用于配置的用户可设置值
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| driverConfig 可以用来指定平台特定的驱动程序配置。省略时,这意味着没有建议,平台将保留选择合理的默认值。这些默认值可能会随时间变化。 |
|
| Loglevel 是整个组件的意图型日志记录。它无法提供精细的控制,但管理操作员必须针对其操作对象解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。 |
|
| managementState 指明 Operator 是否应该管理组件 |
| `` | observedConfig 包含一个从集群状态观察到的稀疏配置。它存在于 spec 中,因为它是 Operator 的级别输入 |
|
| operatorLogLevel 是 Operator 本身的意图日志。它无法提供精细的控制,但管理操作员必须自行解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。 |
|
| storageClassState 决定 CSI 操作器是否应该创建和管理存储类。如果此字段值为空或 Managed - CSI operator 将持续协调存储类并创建(如果需要)。如果此字段值是 Unmanaged - CSI operator 不会协调任何之前创建的存储类。如果此字段值为 Removed - CSI operator 将删除之前创建的存储类。省略时,这意味着用户没有建议,平台会选择合理的默认值,这可能会随时间变化。当前的默认值是 Managed。 |
| `` | unsupportedConfigOverrides 覆盖 Operator 计算的最终配置。红帽不支持使用此字段。滥用此字段可能会导致意外行为或与其他配置选项冲突。在使用此字段前,请参阅红帽支持的指导。使用此属性会阻止集群升级,必须在升级集群前删除它。 |
4.1.2. .spec.driverConfig
- 描述
- driverConfig 可以用来指定平台特定的驱动程序配置。省略时,这意味着没有建议,平台将保留选择合理的默认值。这些默认值可能会随时间变化。
- 类型
-
object
- 必填
-
driverType
-
属性 | 类型 | 描述 |
---|---|---|
|
| AWS 用于配置 AWS CSI 驱动程序。 |
|
| Azure 用于配置 Azure CSI 驱动程序。 |
|
| driverType 表示将 driverConfig 应用到的 CSI 驱动程序类型。有效值为: AWS、Azure、GCP、IBMCloud、vSphere 和 omitted。消费者应将未知值视为 NO-OP。 |
|
| GCP 用于配置 GCP CSI 驱动程序。 |
|
| ibmcloud 用于配置 IBM Cloud CSI 驱动程序。 |
|
| vSphere 用于配置 vsphere CSI 驱动程序。 |
4.1.3. .spec.driverConfig.aws
- 描述
- AWS 用于配置 AWS CSI 驱动程序。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| kmsKeyARN 将集群默认存储类设置为使用用户定义的 KMS 密钥加密卷,而不是 AWS 使用的默认 KMS 密钥。该值可以是 KMS 密钥的 ARN 或 Alias ARN。 |
4.1.4. .spec.driverConfig.azure
- 描述
- Azure 用于配置 Azure CSI 驱动程序。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DiskEncryptionSet 将集群默认存储类设置为使用客户管理的加密集加密卷,而不是默认的平台管理的密钥。 |
4.1.5. .spec.driverConfig.azure.diskEncryptionSet
- 描述
- DiskEncryptionSet 将集群默认存储类设置为使用客户管理的加密集加密卷,而不是默认的平台管理的密钥。
- 类型
-
object
- 必填
-
名称
-
resourceGroup
-
subscriptionID
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是要在默认存储类上设置的磁盘加密集的名称。该值应仅包含字母字符、下划线(_)、连字符,长度最多为 80 个字符。 |
|
| ResourceGroup 定义包含磁盘加密集的 Azure 资源组。该值应仅包含字母字符、下划线(_)、括号、连字符和句点。该值不应以句点结尾,且长度最多为 90 个字符。 |
|
| subscriptionId 定义包含磁盘加密集的 Azure 订阅。该值应满足以下条件:1.它应该是 128 位数字。2.长度应该为 36 个字符(32 个十六进制字符和 4 个连字符)。3.它应显示在五个以连字符(-)分隔的组中。4.第一个组长度应为 8 个字符。5.第二、第三和第四个组应长度为 4 个字符。6.第五个组长度应为 12 个字符。一个示例 SubscrionID: f2007bbf-f802-4a47-9336-cf7c6b89b378 |
4.1.6. .spec.driverConfig.gcp
- 描述
- GCP 用于配置 GCP CSI 驱动程序。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| kmsKey 将集群默认存储类设置为使用客户提供的加密密钥加密卷,而不是由 GCP 管理的默认密钥。 |
4.1.7. .spec.driverConfig.gcp.kmsKey
- 描述
- kmsKey 将集群默认存储类设置为使用客户提供的加密密钥加密卷,而不是由 GCP 管理的默认密钥。
- 类型
-
object
- 必填
-
keyRing
-
名称
-
projectID
-
属性 | 类型 | 描述 |
---|---|---|
|
| keyring 是 KMS 密钥所属的 KMS 密钥的名称。该值应对应于现有的 KMS 密钥环,且应仅包含字母数字字符、连字符(-)和下划线(_),长度最多为 63 个字符。 |
|
| 位置是密钥 Ring 所在的 GCP 位置。该值必须与现有的 GCP 位置或 "global" 匹配。如果没有设置,则默认为 global。 |
|
| name 是用于磁盘加密的客户管理的加密密钥名称。该值应对应于现有的 KMS 密钥,应仅包含字母数字字符、连字符(-)和下划线(_),长度最多为 63 个字符。 |
|
| projectID 是存在 KMS Key Ring 的项目 ID。它必须是 6 到 30 个小写字母、数字或连字符。它必须以字母开头。禁止结尾连字符。 |
4.1.8. .spec.driverConfig.ibmcloud
- 描述
- ibmcloud 用于配置 IBM Cloud CSI 驱动程序。
- 类型
-
object
- 必填
-
encryptionKeyCRN
-
属性 | 类型 | 描述 |
---|---|---|
|
| encryptionKeyCRN 是客户管理的 root 密钥的 IBM Cloud CRN,用于默认存储类的磁盘加密。 |
4.1.9. .spec.driverConfig.vSphere
- 描述
- vSphere 用于配置 vsphere CSI 驱动程序。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| globalMaxSnapshotsPerBlockVolume 是一个全局配置参数,适用于所有类型数据存储上的卷。如果省略,平台会选择一个默认值,它可能会随时间变化,当前默认为 3。无法使用此参数禁用快照。增加超过 3 的快照数量可能会对性能造成负面影响,请参阅 :https://kb.vmware.com/s/article/1025279 卷快照文档 :https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-E0B41C69-7EEB-450F-A73D-5FD2FF39E891.html |
|
| granularMaxSnapshotsPerBlockVolumeInVSAN 仅适用于 vSAN 数据存储。如果设置,它会覆盖 GlobalMaxSnapshotsPerBlockVolume,而如果未设置,它会回退到全局约束。无法使用此参数禁用 VSAN 的快照。 |
|
| granularMaxSnapshotsPerBlockVolumeInVVOL 仅适用于虚拟卷数据存储。如果设置,它会覆盖 GlobalMaxSnapshotsPerBlockVolume,而如果未设置,它会回退到全局约束。无法使用此参数禁用 VVOL 的快照。 |
|
| topologyCategories 表示带有哪些 vcenter 资源(如 hostcluster 或 datacenter)的标签类别。如果集群基础架构对象具有拓扑,则使用 Infrastructure 对象中指定的值并对 topologyCategories 的修改将被拒绝。 |
4.1.10. .status
- 描述
- status 包含从集群中观察到的值。它们可能无法被覆盖。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| conditions 是条件及其状态列表 |
|
| OperatorCondition 只是标准条件字段。 |
|
| 生成用于确定项目是否需要协调或更改是否需要反应。 |
|
| GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。 |
|
| observedGeneration 是您处理的最后生成更改 |
|
| readyReplicas 表示有多少副本就绪并处于所需的状态 |
|
| 版本是此可用性适用的级别 |
4.1.11. .status.conditions
- 描述
- conditions 是条件及其状态列表
- 类型
-
array
4.1.12. .status.conditions[]
- 描述
- OperatorCondition 只是标准条件字段。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
4.1.13. .status.generations
- 描述
- 生成用于确定项目是否需要协调或更改是否需要反应。
- 类型
-
array
4.1.14. .status.generations[]
- 描述
- GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 组是您要跟踪的内容组 |
|
| hash 是为没有生成的情况下为资源设置的可选字段,它们是敏感内容,如 secret 和 configmaps |
|
| lastGeneration 是涉及的工作负载控制器的最后生成 |
|
| name 是您要跟踪的内容的名称 |
|
| 命名空间(namespace)是您要跟踪的事情 |
|
| 资源是您要跟踪的资源类型 |