参数列表

MinIO 模块提供了 15 个相关配置参数,用于定制所需的 Minio 集群。

MinIO 是一个与 S3 兼容的对象存储服务,它被用作 PostgreSQL 的可选的集中式备份存储库。

但用户也可以将其用于其他目的,如存储文件、文档、图片和视频,作为数据湖。


参数列表

MinIO 模块有 15 个相关参数:

参数 类型 层次 中文说明
minio_seq int I minio 实例标识符,必填
minio_cluster string C minio 集群名称,默认为 minio
minio_clean bool G/C/A 初始化时清除 minio?默认为 false
minio_user username C minio 操作系统用户,默认为 minio
minio_node string C minio 节点名模式
minio_data path C minio 数据目录,使用 {x...y} 指定多个磁盘
minio_volumes string C minio 核心参数,指定成员节点与磁盘,默认不指定
minio_domain string G minio 外部域名,默认为 sss.pigsty
minio_port port C minio 服务端口,默认为 9000
minio_admin_port port C minio 控制台端口,默认为 9001
minio_access_key username C 根访问密钥,默认为 minioadmin
minio_secret_key password C 根密钥,默认为 minioadmin
minio_extra_vars string C minio 服务器的额外环境变量
minio_alias string C minio 部署的客户端别名
minio_endpoint string C minio 部署的客户端别名对应的端点
minio_buckets bucket[] C 待创建的 minio 存储桶列表
minio_users user[] C 待创建的 minio 用户列表

其中,minio_volumesminio_endpoint 为自动生成的参数,但您可以显式覆盖指定这两个参数。


默认参数

MinIO 模块的默认参数为:

#-----------------------------------------------------------------
# MINIO
#-----------------------------------------------------------------
#minio_seq: 1                     # minio 实例标识符,必填
minio_cluster: minio              # minio 集群名称,默认为 minio
minio_clean: false                # 初始化时清除 minio?默认为 false
minio_user: minio                 # minio 操作系统用户,默认为 `minio`
minio_node: '${minio_cluster}-${minio_seq}.pigsty' # minio 节点名模式
minio_data: '/data/minio'         # minio 数据目录,使用 `{x...y}` 指定多个磁盘
#minio_volumes:                   # minio 核心参数,如果未指定,则使用拼接生成的默认值 
minio_domain: sss.pigsty          # minio 外部域名,默认为 `sss.pigsty`
minio_port: 9000                  # minio 服务端口,默认为 9000
minio_admin_port: 9001            # minio 控制台端口,默认为 9001
minio_access_key: minioadmin      # 根访问密钥,默认为 `minioadmin`
minio_secret_key: minioadmin      # 根密钥,默认为 `minioadmin`
minio_extra_vars: ''              # minio 服务器的额外环境变量
minio_alias: sss                  # minio 部署的客户端别名
#minio_endpoint: https://sss.pigsty:9000 # minio 别名对应的接入点,如果未指定,则使用拼接生成的默认值
minio_buckets: [ { name: pgsql }, { name: infra },  { name: redis } ] # 待创建的 minio 存储桶列表
minio_users:                      # 待创建的 minio 用户列表
  - { access_key: dba , secret_key: S3User.DBA, policy: consoleAdmin }
  - { access_key: pgbackrest , secret_key: S3User.Backup, policy: readwrite }

minio_seq

参数名称: minio_seq, 类型: int, 层次:I

MinIO 实例标识符,必需的身份参数。没有默认值,您必须手动分配这些序列号。

通常的最佳实践是,从1开始分配,依次加1,并永远不使用已经分配的序列号。


minio_cluster

参数名称: minio_cluster, 类型: string, 层次:C

MinIO 集群名称,默认为 minio。当部署多个MinIO集群时,可以使用此参数进行区分。


minio_clean

参数名称: minio_clean, 类型: bool, 层次:G/C/A

是否在初始化时清理 MinIO ?默认为 false,即不清理现有数据。

如果您想在移除,或者在安装过程中清理 MinIO 数据目录,可以将此参数设置为 true,这是一个危险的操作,因为它会删除所有MinIO数据!


minio_user

参数名称: minio_user, 类型: username, 层次:C

MinIO 操作系统用户名,默认为 minio,MinIO 的家目录中将存储 MinIO 使用的证书。


minio_node

参数名称: minio_node, 类型: string, 层次:C

MinIO 节点名称模式,用于多节点部署。

默认值为:${minio_cluster}-${minio_seq}.pigsty,即以实例名 + .pigsty 后缀作为默认的节点名。

在这里指定的域名模式将用于生成节点名,节点名将写入所有 MinIO 节点的 /etc/hosts 文件中。


minio_data

参数名称: minio_data, 类型: path, 层次:C

MinIO 数据目录(们),默认值:/data/minio,这是单节点部署的常见目录。

对于 多机多盘单机多盘 部署,您可以使用 {x...y} 的记法来指定多个磁盘。


minio_volumes

参数名称: minio_volumes, 类型: string, 层次:C

MinIO 核心参数,默认不指定留空,留空情况下,该参数会自动使用以下规则拼接生成:

minio_volumes: "{% if minio_cluster_size|int > 1 %}https://{{ minio_node|replace('${minio_cluster}', minio_cluster)|replace('${minio_seq}',minio_seq_range) }}:{{ minio_port|default(9000) }}{% endif %}{{ minio_data }}"
  • 在单机部署(无论是单盘还是多盘)模式下,minio_volumes 直接使用 minio_data 的值,进行单机部署。
  • 在多机部署模式下,minio_volumes 会使用 minio_node, minio_port, minio_data 参数的值生成多节点的地址,用于多机部署。
  • 在多池部署模式下,通常需要您直接指定并覆盖 minio_volumes 的值,以指定多个节点池的地址。

指定本参数时,您需要确保使用的参数与 minio_node, minio_port, minio_data 三者匹配。


minio_domain

参数名称: minio_domain, 类型: string, 层次:G

MinIO 服务域名,默认为sss.pigsty

客户端可以通过此域名访问 MinIO S3 服务。此名称将注册到本地 DNSMASQ,并包含在 SSL 证书字段中。


minio_port

参数名称: minio_port, 类型: port, 层次:C

MinIO 服务端口,默认为9000


minio_admin_port

参数名称: minio_admin_port, 类型: port, 层次:C

MinIO 控制台端口,默认为9001


minio_access_key

参数名称: minio_access_key, 类型: username, 层次:C

根访问用户名(access key),默认为minioadmin


minio_secret_key

参数名称: minio_secret_key, 类型: password, 层次:C

根访问密钥(secret key),默认为minioadmin


minio_extra_vars

参数名称: minio_extra_vars, 类型: string, 层次:C

MinIO 服务器的额外环境变量。查看 MinIO Server 文档以获取完整列表。

默认值为空字符串,您可以使用多行字符串来传递多个环境变量。


minio_alias

参数名称: minio_alias, 类型: string, 层次:C

本地 MinIO 集群的 MinIO 别名,默认值:sss,它将被写入基础设施节点/管理员用户的客户端别名配置文件中。


minio_endpoint

参数名称:minio_endpoint, 类型: string, 层次:C

部署的客户端别名对应的端点,如果指定,这里的 minio_endpoint (例如: https://sss.pigsty:9002)将会替代默认值,作为写入管理节点 MinIO Alias 的目标端点。

mcli alias set {{ minio_alias }} {% if minio_endpoint is defined and minio_endpoint != '' %}{{ minio_endpoint }}{% else %}https://{{ minio_domain }}:{{ minio_port }}{% endif %} {{ minio_access_key }} {{ minio_secret_key }}

以上 MinIO Alias 会在管理节点上以默认管理用户执行。


minio_buckets

参数名称: minio_buckets, 类型: bucket[], 层次:C

默认创建的minio存储桶列表:

minio_buckets: [ { name: pgsql }, { name: infra },  { name: redis } ]

为模块 PGSQLINFRAREDIS 创建了三个默认的存储桶

目前这三个桶中,仅 pgsql 默认用于 pgbackrest 备份存储。


minio_users

参数名称: minio_users, 类型: user[], 层次:C

要创建的minio用户列表,默认值:

minio_users:
  - { access_key: dba , secret_key: S3User.DBA, policy: consoleAdmin }
  - { access_key: pgbackrest , secret_key: S3User.Backup, policy: readwrite }

默认配置会为 PostgreSQL DBA 和 pgBackREST 创建两个默认用户:dbapgbackrest





Last modified 2024-11-22: update minio/etcd docs (345b8442)