中文文档

MinIO 自定义资源定义

MinIO Operator 安装了一个 自定义资源定义(CRD),用于描述 MinIO Tenant 对象。 操作员使用此 CRD 用于在 Kubernetes 集群内提供和管理租户资源。

此页面记录了用于自定义运营商部署的租户的 CRD 参考。 此文档假设您熟悉所有引用的 Kubernetes 概念、实用工具和程序。

操作员 CRD v2 参考资料

软件包 v2 - 本页为自动生成的 MinIO 操作员 Operator CRD v2 Reference CRD 的参考资料. 有关 MinIO 操作员 CRD 的更多完整文档 , 请参阅 MinIO Kubernetes Documentation.

Operator CRD v2 Reference API 已随 MinIO 操作员 v4.0.0 一起发布。. MinIO 操作器会自动将使用 /v1 API 的现有租户自动转换 /v2.

存储桶默认创建的存储桶

现场 说明

名称 字符串

地区 字符串

对象锁定 布尔型

证书配置

证书配置 (certConfig) 定义操作员在创建租户时自动生成的 TLS 证书的相关控制属性. 如果出现以下情况 spec.autoCert: false ,这些字段将不起作用.

现场 内容简介

通用名称 字符串

可选项
通用名称CN 属性来关联自动生成的 TLS 证书.

组织名称 字符串 数组

可选项
指定一个或多个 组织名称O 属性,以便与自动生成的 TLS 证书关联.

域名名称 字符串 数组

可选项
指定一个或多个 x.509 主题替代名称 (SAN),以便与自动生成的 TLS 证书关联。MinIO 服务器 pod 会根据请求的主机名使用 SNI 来确定要使用哪个证书.

证书状态

证书状态指记录操作员管理的所有证书

现场 说明

启用自动证书 布尔型

启用自动证书注册 我们是否知道租户是否启用了自动证书

自定义证书 自定义证书

提供手动添加到操作员的客户端minio 和 “minioCAs ”自定义 TLS 证书的输出.

自定义证书

自定义证书 (customCertificates)(自定义证书)提供手动添加到操作员的 TLS 证书分组,作为创建租户的一部分. 如果没有自定义 TLS 证书,这些字段将不包含数据.

现场 说明

客户端 自定义证书配置 数组

可选项
客户端

minio 自定义证书配置 数组

可选项
Minio

minioCAs 自定义证书配置 数组

可选项
证书颁发机构

公开服务

公开服务(exposeServices)定义了 MinIO 对象存储和控制台服务的公开方式.

现场 说明

minio 布尔型

可选项
指示操作员公开 MinIO 服务. 默认为 true.

控制台 boolean

可选项
指示操作员公开 MinIO 控制台服务. 默然为 true.

功能

功能 (features) - 描述在 MinIO 租户中启用/禁用哪些 MinIO 功能的对象.

现场 说明

桶域名 布尔型

可选项
指定为 true 允许客户端使用 DNS 路径 <bucket>.minio.default.svc.cluster.local. 默认为 false.

域名 租户域名

可选项
指定用于访问 MinIO 和控制台的域列表.

启用SFTP 布尔型

可选项
启动支持 SFTP 的 minio 服务器

健康状况 (字符串)

HealthStatus 表示租户是否健康、服务减少或离线.

KESConfig配置

KES配置 (kes) 定义了 MinIO 密钥加密服务 (KES) 的配置. 作为 MinIO 租户的一部分部署.KES 支持使用外部密钥管理服务(KMS)对对象进行服务器端加密.

现场 说明

副本 整数

可选项
指定要在租户中部署的 KES pod 复制数量. 默认为 2.

图像 字符串

可选项

图像拉动政策 拉动政策

可选项
MinIO Docker 映像的拉取策略. 指定以下内容之一:
* 永远
* 从未
* 如果不存在 (默认值)
详情请参考 Kubernetes 文档 https://kubernetes.io/docs/concepts/containers/images#updating-images

服务帐户名 字符串

可选项
Kubernetes 服务账户 用于运行作为租户一部分创建的 MinIO KES pod.

kes密钥 本地对象引用

要求
指定一个 Kubernetes 不透明 密钥 其中包含用于设置 MinIO KES 服务的环境变量.
请参阅 MinIO 操作员 console-secret.yaml 举例说明.

外部证书密钥 本地证书参考

可选项
在租户的每个 MinIO KES pod 上启用支持 SNI 的 TLS . 如果 外部证书密钥 省略了 spec.requestAutoCert 则设置为 false, MinIO KES pods 的部署 没有 启用 TLS .
指定一个 Kubernetes TLS 密钥. MinIO 操作员会将指定的证书复制到 租户中的每个 MinIO pod. MinIO pod/服务响应 TLS 连接请求时, 它使用 SNI 选择与 主题备选名称匹配的证书.
指定一个包含以下字段的对象:
* - 名称 - 包含 TLS 证书的 Kubernetes 密钥名称.
* - 类型 - 具体说明 kubernetes.io/tls
请参阅 MinIO 操作员 CRD 参考以获取示例和更完整的文档 为 MinIO 租户配置 TLS 的完整文档.

客户端证书密钥 本地证书参考

可选项
指定一个 Kubernetes TLS 密钥 包含自定义根证书颁发机构和 x.509 证书,用于与外部密钥管理服务一起执行 mTLS 身份验证, 如 Hashicorp Vault.
指定一个包含以下字段的对象:
* - 名称 - 包含证书颁发机构和 x.509 证书的 Kubernetes 密钥的名称.
* - 类型 - 具体说明 kubernetes.io/tls

gcp认证密钥名称 字符串

可选项
指定用于 KES 验证 GCP 密钥存储的 GCP 默认凭据

gcp工作负载识别库 字符串

可选项
指定工作负载标识池的名称 (生成服务帐户令牌时需要使用此功能)

注释 对象 ( keys:字符串,values:字符串 )

可选项
如果提供,则将这些注释用于 KES 对象元注释

标签 对象 ( keys:字符串,values:字符串 )

可选项
如果提供了这些标签,请将其用于 KES 对象元标签

资源 资源需求

可选项
用于指定 CPU 和内存的对象规范 MinIO 租户的 资源分配 或限制.

节点选择器 对象 ( keys:字符串,values:字符串 )

可选项
操作员在选择部署 MinIO KES pod 的节点时要应用的过滤器. 操作符只选择标签符合指定选择符的节点.
请参阅 Kubernetes 文档中的 将 Pod 分配给节点 的更多信息.

容忍 宽容 数组

可选项
指定一个或多个 Kubernetes 容忍 应用于 MinIO KES pod.

亲和性 亲和力

可选项
为 KES pod 指定节点亲和性、pod 亲和性和 pod 反亲和性.

拓扑分布约束 拓扑分布约束 数组

可选项
指定一个或多个 Kubernetes 拓扑扩展限制 适用于部署在 MinIO 池中的 pod.

关键字名称 字符串

可选项
如果提供,则将其用作 KES 在 KMS 后端创建的密钥名称

安全环境 Pod安全环境

指定 安全环境 是 MinIO KES pods. 操作员仅支持以下 pod 安全字段:
* fsGroup
* fsGroupChangePolicy
* runAsGroup
* runAsNonRoot
* runAsUser
* seLinuxOptions

环境 参数 数组

可选项
如果提供了这些变量,MinIO 操作员将在部署 KES 资源时添加指定的环境变量.

本地证书参考

本地证书参考 (externalCertSecret, externalCaCertSecret,clientCertSecret) 包含一个 Kubernetes 密钥,其中包含 TLS 证书或证书 颁发机构文件,用于在 MinIO 租户中启用 TLS.

现场 说明

名称 字符串

要求
包含 TLS 证书或证书颁发机构文件的 Kubernetes 密钥的名称.

类型 字符串

要求
Kubernetes 秘密的类型. 具体说明 kubernetes.io/tls

记录

日志是记录描述 MinIO 租户的日志记录.

现场 说明

数据 布尔型

匿名 布尔型

安静 布尔型

Poo池 (pools) 定义了租户上的 MinIO 服务器池.每个池由一组 MinIO 服务器 pod 组成, 这些 pod 将其存储资源 “ 池化 “,以支持对象存储和检索请求. 每个服务器池都独立于所有其他服务器池, 并支持横向扩展 MinIO 租户中的可用存储资源. 请参阅 MinIO Operator CRD “ 池 “对象的参考资,以获取示例和更完整的文档.

现场 说明

名称 字符串

可选项
指定池名称. 如果省略此字段,操作员会自动生成池名称.

服务器 整数

要求 要在池中部署的 MinIO 服务器 pod 的数量. 最小值为2. MinIO 操作员至少需要 4 个池的容量. 具体来说, 池的结果.服务器 X 池.每服务器卷数 必须大于 4.

每服务器卷数 整数

要求
要为池中每个 MinIO 服务器 pod 生成的持久卷申请数量.
MinIO 操作员至少需要 4 每个池的容量.具体如下, 池的结果.服务器 X 池.每服务器卷数 必须大于 4.

体积索赔模板 持久卷索赔

要求
指定 MinIO 操作员在为 MinIO 租户生成持久卷索赔时使用的配置选项.

资源 资源需求

可选项
用于指定 CPU 和内存的对象规范 MinIO 租户的资源分配或限制.

节点选择器 对象(keys:字符串,values:字符串)

可选项
操作员在选择部署池中 pod 的节点时要应用的过滤器. 操作符只选择标签符合指定选择符的节点.
请参阅 Kubernetes 文档 将 Pod 分配给节点 以获取更多信息.

亲和性 Affinity

可选项
指定节点亲和性, 吊舱亲和力, 和针对 MinIO 池中 pod 的 pod 反亲和性.

容忍度 Toleration 数组

可选项
指定一个或多个 Kubernetes 容限 适用于部署在 MinIO 池中的 pod.

拓扑分布约束 TopologySpreadConstraint 数组

可选项
指定一个或多个 Kubernetes 拓扑扩展限制 适用于部署在 MinIO 池中的 pod.

安全环境 PodSecurityContext

可选项
指定 池中 pod 的安全环境 . 操作员仅支持以下 pod 安全字段:
* fsGroup
* fsGroupChangePolicy
* runAsGroup
* runAsNonRoot
* runAsUser

容器安全环境 安全环境

指定 池中容器的安全环境. 操作员只支持以下容器安全字段:
* runAsGroup
* runAsNonRoot
* runAsUser

注释 对象(keys:字符串, values:字符串)

可选项
指定附加到数据池的自定义标签和注释. 可选项
如果提供, 将这些注解用于池对象元注解 (Statefulset 和 Pod 模板)

标签 对象(keys:字符串, values:字符串)

可选项
如果提供, 对池对象元注释使用这些标签 (状态集和 Pod 模板)

运行时类名 字符串

可选项
如果提供, 状态集上的每个 pod 将使用指定的 RuntimeClassName 运行, 了解更多信息 https://kubernetes.io/docs/concepts/containers/runtime-class/

回收存储 布尔型

可选项
如果为 true. 删除租户后,将删除存储空间.

池状态 (字符串)

PoolState 表示池的状态

池状态

PoolStatus 跟踪所有池及其当前状态

现场 说明

ss名称 字符串

状态 池状态

传统安全环境 布尔型

LegacySecurityContext 代表传统安全环境. 它表示这些池是在 v4.2.3 之前创建的. 之前创建的, 当时我们将默认安全上下文设置为非根目录, 因此,我们应该在没有安全上下文的情况下继续运行该 Pool

服务元数据

服务元数据 (serviceMetadata) 为 MinIO 对象存储服务和/或 MinIO 控制台服务定义自定义标签和注释.

现场 说明

微型服务标签 对象 (keys:字符串, values:字符串)

可选项
如果提供, 将这些标签附加到 MinIO 服务中

微型服务注释 对象 (keys:字符串, values:字符串)

可选项
如果提供, 将这些注释附加到 MinIO 服务中

控制台服务标签 对象 (keys:字符串, values:字符串)

可选项
如果提供, 将这些标签附加到控制台服务中

控制台服务注释 对象 (keys:字符串, values:字符串)

可选项
如果提供, 将这些注释附加到控制台服务中

侧挂车

侧挂车 (sidecars) 定义了容器列表,操作员会将其附加到 pool 中的每个 MinIO 服务器 pod 上.

现场 说明

容器 容器 数组

可选项
在 Pod 内运行的容器列表

卷索赔模板 持久卷索赔 数组

可选项
volumeClaimTemplates 是允许 pod 引用的索赔列表. StatefulSet 控制器负责将网络身份映射到权利要求,以维护 pod 的身份. 该列表中的每个索赔都必须在模板中的一个容器中至少有一个匹配(按名称)的 volumeMount. 该清单中的索赔优先于模板中的任何卷册.

流量 Volume 数组

可选项
属于 pod 的容器可以挂载的卷列表. 更多信息: https://kubernetes.io/docs/concepts/storage/volumes

资源 资源需求

可选项
挎斗的资源, 设置后,initcontainer 将使用.

租户

租户是 Kubernetes object 描述 MinIO 租户.

现场 说明

api 版本 字符串

操作员 CRD v2 参考资料

种类 字符串

租户

元数据 对象信息

有关元数据字段,请参阅 Kubernetes API 文档 .

调度 租户调度程序

规格 租户规范

要求
MinIO 租户对象的根字段.

租户域名

租户域名 (domains) - 用于从 kubernetes 集群外部访问租户的域列表. 这将只为列出的域配置 MinIO, 但仍需要外部 DNS 配置. 如果使用模式和端口,列出的域应包括模式和端口, i.e. https://minio.domain.com:8123

现场 说明

minio 字符串数组

MinIO 使用的域名列表. 这将启用 DNS 方式访问对象存储空间, 其中存储桶名称是通过域中的子域推断出来的.

控制台 字符串

用于公开 MinIO 控制台的域, 这将配置从浏览器访问 MinIO 时的重定向.如果控制台通过子路径, 域名应包括, i.e. https://console.domain.com:8123/subpath/

租户调度程序

租户调度程序 (scheduler) - 描述用于部署 MinIO 租户的 Kubernetes 调度器的对象.

现场 说明

名称 string

可选项
指定 用于调度租户 pod 的 Kubernetes 调度器

租户规范

租户规范 (spec) 定义 MinIO 租户对象的配置. 以下参数是作为 MinIO Operator v4.0.0 的一部分添加的 “Operator CRD v2 Reference “ MinIO CRD API “spec” 定义的特定参数. 有关该对象的更多完整文档, 参见 MinIO Kubernetes Documentation.

现场 说明

Pool 数组

要求
描述 MinIO 租户中部署的每个 MinIO 服务器池的对象数组. 每个池由一组 MinIO 服务器 pod 组成, 这些 pod 可 " 池化 "其存储资源,以支持对象存储和检索请求. 每个服务器池都独立于所有其他服务器池, 并支持横向扩展 MinIO 租户中的可用存储资源.
MinIO 租户 规范 必须在 数组中至少包含一个元素.
参见 MinIO 操作员 CRD 对象示例参考和更完整的文档.

图片 字符串

可选项

图片拉去密钥 本地对象引用

可选项
指定从私有 Docker 资源库提取映像时要使用的密钥.

pod 管理政策 Pod管理策略类型

可选项
StatefulSet 创建的 pod 的 Pod 管理策略

保密信息 LocalObjectReference

可选项
指定一个 Kubernetes 不透明的秘密 用于设置 MinIO 根访问密钥. 将秘密指定为 名称: <秘密>. Kubernetes 秘密必须包含以下字段:
* data.accesskey - 根证书的访问密钥
* data.secretkey - 根证书的密钥

环境 环境变量 数组

可选项
如果提供, MinIO 操作员在部署租户资源时会添加指定的环境变量.

外部证书密钥 本地证书参考 数组

可选项
在租户的每个 MinIO pod 上启用支持 SNI 的 TLS. 如果省略了 externalCertSecret requestAutoCert 设置为 false, MinIO 租户部署时未启用 TLS.
指定一个 Kubernetes TLS 密钥 . MinIO 操作员会将指定的证书复制到租户中的每个 MinIO 服务器 pod 上. MinIO pod/服务响应 TLS 连接请求时, 它使用 SNI 选择与 subjectAlternativeName 匹配的证书.
externalCertSecret 数组中的每个元素都是一个对象,包含以下字段:
* - name - 包含 TLS 证书的 Kubernetes 密钥名称.
* - type - 指定 kubernetes.io/tls
参见 MinIO 操作员 CRD 参考资料,以获取为 MinIO 租户配置 TLS 的示例和更完整的文档.

外部证书密钥 本地证书参考 数组

可选项
允许 MinIO 服务器 pod 验证由不在 pod 信任存储中的证书颁发机构签署的 TLS 客户端证书.
指定一个 Kubernetes TLS s密钥. MinIO 操作员会将指定的证书复制到租户中的每个 MinIO 服务器 pod 上.
externalCertSecret 数组中的每个元素都是一个对象,包含以下字段:
* - name - 包含证书颁发机构的 Kubernetes 秘密的名称.
* - type - 请指明 kubernetes.io/tls.
参见 MinIO 操作员 CRD 参考资料,以获取为 MinIO 租户配置 TLS 的示例和更完整的文档.

外部客户端证书密钥 本地证书参考

可选项
在 MinIO 租户 pod 和 MinIO pod 之间启用 mTLS 身份验证。 MinIO KES. 需要 在 MinIO 租户和 MinIO KES 之间实现连接.
指定一个 Kubernetes TLS 密钥. MinIO 操作员会将指定的证书复制到租户中的每个 MinIO 服务器 pod 上. 密文必须包含以下字段:
* name - 包含 TLS 证书的 Kubernetes 密钥名称.
* type - 请指明 kubernetes.io/tls
指定证书 必须 与 KES 服务器上的身份相对应. 参见 KES 维基百科, 了解有关 KES 身份的更多信息.
如果使用 MinIO Operator 部署 KES,请将证书的哈希值作为 kes 对象说明.
参见 MinIO 操作员 CRD 参考资料,以获取为 MinIO 租户配置 TLS 的示例和更完整的文档.

外部客户端证书保密 本地证书参考 数组

可选项
支持在 MinIO 租户 pod 中加载更多客户证书 将使用以下文件夹结构加载多个客户证书:
* certs
* * client-0
* * * client.crt
* * * client.key
* * client-1
* * * client.crt
* * * client.key
* * * client-2
* * client.crt
* * * client.key
指定一个 Kubernetes TLS 密钥. MinIO 操作员会将指定的证书复制到租户中的每个 MinIO 服务器 pod 上,之后可使用环境变量对其进行引用. The 秘密 必须 包含以下字段:
* name - 包含 TLS 证书的 Kubernetes 密钥名称.
* type - 请指明 kubernetes.io/tls

安装路径 字符串

可选项
MinIO 卷 (PV) 的安装路径. 默认为 /export

子路径 字符串

可选项
挂载路径内的子路径。这是 MinIO 存储数据的目录. 默认为 ""` (empty)

请求自动证书 布尔型

可选项
可以使用 为 MinIO 租户中的 pod 和服务生成和签署基于 Kubernetes 的 TLS 证书.
* 指定为 true 可明确启用自动证书 生成(默认).
* 指定为false 可禁用自动生成证书功能.
如果 请求自动证书 设置为 false externalCertSecret 被省略, MinIO 租户部署时未启用 TLS. 参见 MinIO 操作员 CRD 参考资料,以获取为 MinIO 租户配置 TLS 的示例和更完整的文档.

有效性 Probe

容器有效性探针. 如果探测失败,将重新启动容器.

准备 探头

集装箱就绪状态探测器. 如果探测失败,容器将从服务端点移除.

启动 探头

启动探测器允许配置 pod 在流量路由到它之前的最大启动宽限期.

特征 特征

可禁用或启用 S3 相关功能,如 bucketDNS 等.

证书配置 证书配置

可选项
可以设置 CommonName, Organization, and dnsName 操作员自动生成的所有 TLS 证书的属性. 如果 requestAutoCertfalse,则配置此对象无效.

kes KES配置

可选项
指示 MinIO 操作员部署 使用指定配置的 MinIO 密钥加密服务 (KES). The MinIO KES supports 对 MiNIO 租户上的对象执行服务器端加密.

prometheus 操作员 布尔型

可选项
指示 MinIO 操作符使用 prometheus 操作符.
租户搜刮配置将添加到由 prometheus-operator 管理的 prometheus 中.

服务帐户名 字符串

可选项
Kubernetes 服务账户 用于运行作为租户的一部分创建的 MinIO pod.

优先级名称 字符串

可选项
表示 Pod 的优先级,也就是 Pod 相对于群集中其他 Pod 的重要性. 仅适用于 MinIO pod.
介绍 Kubernetes 优先级文档 以获取更完整的文档.

图像拉动政策 拉动政策

可选项
MinIO Docker 映像的拉取策略。指定以下内容之一:
* Always
* Never
* IfNotPresent (Default)
详情请参考 Kubernetes 文档 https://kubernetes.io/docs/concepts/containers/images#updating-images

侧车 侧挂车

可选项
租户中部署的每个 MinIO Pod 都要作为侧车运行的容器列表.

暴露服务 暴露服务

可选项
指示操作员公开 MinIO 和/或控制台服务.

服务元数据 服务元数据

可选项
指定附加到 MinIO 服务和/或控制台服务的自定义标签和注释.

用户 本地对象引用 数组

可选项
一个数组 Kubernetes 隐藏密钥 在租户配置过程中, 用于生成 MinIO 用户.
数组中的每个元素都是由键值对名称组成的对象 : <字符串>, 其中的 <字符串g> 引用了一个不透明的 Kubernetes 秘密.
每个引用的 Kubernetes 秘密必须包括以下字段:
* CONSOLE_ACCESS_KEY - MinIO 用户的 "Username"
* CONSOLE_SECRET_KEY - MinIO 用户的 "Password"
操作员默认使用控制台管理员策略创建每个用户. 租户启动后,您可以更改分配的策略.

Bucket 数组

可选项
在创建新租户时创建桶.如果给定名称的桶已经存在,则跳过

日志 Logging

可选项
为 MinIO 租户启用 JSON 匿名日志记录功能.

配置 本地对象引用

可选项
指定一个秘密,其中包含 MinIO 池要使用的其他环境变量配置. 该秘密预计有一个名为 config 的密钥. env 包含 MinIO 的所有输出环境变量

初始化容器 容器 数组

可选项
为 StatefulSet 添加自定义 initContainers

附加卷 容量 数组

可选项
如果提供, statefulset 将添加这些卷. 应为相应的卷和卷挂载设置规则. 我们不测试这条规则, k8s 将显示结果.

附加卷挂载 卷挂载 数组

可选项
如果提供, statefulset 将添加这些卷. 应为相应的卷和卷挂载设置规则. 我们不测试这条规则, k8s 将显示结果.

租户用途

租户使用量(TenantUsage)是有关租户使用量和容量的指标

现场 说明

容量 整数

容量 该租户的使用容量以字节为单位.

原始容量 整数

容量 该租户的原始容量以字节为单位.

用法 整数

使用量是指 MinIO 管理的数据量以字节为单位.

原始用途 整数

使用量是磁盘的原始使用量单位为字节.

层级 分层使用 数组

层级包括租户中各个层级的使用情况

分层使用

TierUsage 表示租户设置的层级的使用量

现场 说明

名称 字符串

层级名称

类型 字符串

层级类型

总大小 整数

层的总使用量

Join Slack 商业支持购买咨询