参数
自定义 MinIO 参数
MinIO 是一个兼容 S3 的对象存储服务。它被用作 PostgreSQL 的可选中央备份存储仓库。
您也可以将其用于其他目的,例如存储大文件、文档、图片和视频。
参数
MinIO 模块中有 23 个相关参数,其中 MINIO
19 个,MINIO_REMOVE
3 个。
参数 | 类型 | 层级 | 注释 |
---|---|---|---|
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_https | bool | G | 为 minio 使用 https,默认为 true |
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 | root 访问密钥,默认为 minioadmin |
minio_secret_key | password | C | root 密钥,默认为 minioadmin |
minio_extra_vars | string | C | minio 服务器的额外环境变量 |
minio_provision | bool | G/C | 运行 minio 置备任务? |
minio_alias | string | G | 本地 minio 部署的别名 |
minio_endpoint | string | C | 上述 minio 别名对应的 host:port |
minio_buckets | bucket[] | C | 要创建的 minio 桶列表 |
minio_users | user[] | C | 要创建的 minio 用户列表 |
参数 | 类型 | 层级 | 注释 |
---|---|---|---|
minio_safeguard | bool | G/C/A | 防止意外移除?(默认:false) |
minio_rm_data | bool | G/C/A | 移除期间删除 minio 数据?(默认:true) |
minio_rm_pkg | bool | G/C/A | 移除期间卸载 minio 包?(默认:false) |
minio_volumes
和 minio_endpoint
是自动生成的参数,但您可以显式覆盖这两个参数。
默认值
MINIO
共有 19 个参数,定义于 roles/minio/defaults/main.yml
中
#-----------------------------------------------------------------
# MINIO
#-----------------------------------------------------------------
#minio_seq: 1 # minio 实例标识符,必需
minio_cluster: minio # minio 集群标识符,必需
minio_clean: false # 在初始化期间清理 minio?默认为 false
minio_user: minio # minio 操作系统用户,默认为 `minio`
minio_https: true # 为 minio 使用 https,默认为 true
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 # root 访问密钥,默认为 `minioadmin`
minio_secret_key: minioadmin # root 密钥,默认为 `minioadmin`
minio_extra_vars: '' # 额外环境变量
minio_provision: true # 运行 minio 置备任务?
minio_alias: sss # 本地 minio 部署的别名
#minio_endpoint: https://sss.pigsty:9000 # 如果未指定,由默认值覆盖
minio_buckets: # 要创建的 minio 桶列表
- { name: pgsql }
- { name: meta ,versioning: true }
- { name: data }
minio_users: # 要创建的 minio 用户列表
- { access_key: pgbackrest ,secret_key: S3User.Backup ,policy: pgsql }
- { access_key: s3user_meta ,secret_key: S3User.Meta ,policy: meta }
- { access_key: s3user_data ,secret_key: S3User.Data ,policy: data }
MINIO_REMOVE
共有 3 个参数,定义于 roles/minio_remove/defaults/main.yml
中:
#-----------------------------------------------------------------
# MINIO_REMOVE
#-----------------------------------------------------------------
minio_safeguard: false # 防止意外移除?
minio_rm_data: true # 移除期间删除 minio 数据?
minio_rm_pkg: false # 移除期间卸载 minio 包?
minio_seq
名称:minio_seq
,类型:int
,层级:I
minio 实例标识符,必需的身份参数。没有默认值,您必须手动分配它
minio_cluster
名称:minio_cluster
,类型:string
,层级:C
minio 集群名称,默认为 minio
。这在部署多个 MinIO 集群时很有用
minio_clean
名称:minio_clean
,类型:bool
,层级:G/C/A
在初始化期间清理 minio?默认为 false
已弃用:Pigsty v3.6+
自 Pigsty v3.6+ 起,主 minio.yml 剧本中的 minio_clean
功能已弃用。请使用专用的 minio-rm.yml 剧本和 minio_remove 角色进行集群移除操作。
minio_user
名称:minio_user
,类型:username
,层级:C
minio 操作系统用户名,默认为 minio
minio_https
名称:minio_https
,类型:bool
,层级:G
为 MinIO 服务使用 HTTPS 还是 HTTP,默认为 true
,表示使用 HTTPS。
请注意,pgbackrest 需要 MinIO HTTPS 才能正常工作,但如果您不将 minio 用于此目的,并且不想为 MinIO 使用 HTTPS,您可以将其设置为 false
。
minio_node
名称:minio_node
,类型:string
,层级:C
minio 节点名称模式,这用于 多节点 部署
默认值:${minio_cluster}-${minio_seq}.pigsty
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 }}"
- 在 SNSD 或 SNMD 部署的情况下,
minio_volumes
直接使用minio_data
的值 - 在 MNMD 部署的情况下,
minio_volumes
使用minio_node
、minio_port
、minio_data
的值来生成此参数: - 在多个存储池的情况下,您必须覆盖
minio_volumes
来显式指定多个节点池。
用户有责任确保 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
root 访问密钥,默认为 minioadmin
minio_secret_key
名称:minio_secret_key
,类型:password
,层级:C
root 密钥,默认为 minioadmin
默认值:minioadmin
更改密码!
在您的部署中更改此密码非常重要!
minio_extra_vars
名称:minio_extra_vars
,类型:string
,层级:C
minio 服务器的额外环境变量。查看 Minio Server 获取完整列表。
默认值为空字符串,您可以使用多行字符串传递多个环境变量。
minio_alias
名称:minio_alias
,类型:string
,层级:G
本地 MinIO 集群的 MinIO 别名
默认值:sss
,将写入基础设施节点/管理用户的客户端别名配置文件。
minio_endpoint
名称:minio_endpoint
,类型:string
,层级:C
上述 MinIO 别名对应的 host:port。此参数默认未定义。
如果未定义,将被以下默认值覆盖:
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_buckets
名称:minio_buckets
,类型:bucket[]
,层级:C
默认要创建的 minio 桶列表:
minio_buckets: # 要创建的 minio 桶列表
- { name: pgsql }
- { name: meta ,versioning: true }
- { name: data }
默认创建三个桶,具有不同的策略。
pgsql
桶默认用于 PostgreSQL 备份。而 meta
和 data
是用于其他目的的开放桶。
例如,supabase 模板可能使用 data
桶来存储业务数据。
如果您有需要版本控制的重要元数据,可以开箱即用地使用 meta
桶。
每个桶都有相应的策略,名称与桶名相同。例如,pgsql
策略对 pgsql
桶有所有权限,等等。
您还可以在桶定义中添加 lock
标志,这将启用对象锁定功能,以防止意外删除桶中的对象。
minio_users
名称:minio_users
,类型:user[]
,层级:C
要创建的 minio 用户列表,默认值:
minio_users: # 要创建的 minio 用户列表
- { access_key: pgbackrest ,secret_key: S3User.Backup ,policy: pgsql }
- { access_key: s3user_meta ,secret_key: S3User.Meta ,policy: meta }
- { access_key: s3user_data ,secret_key: S3User.Data ,policy: data }
为 PostgreSQL DBA 和 pgBackREST 创建默认用户。
更改密码!
请在严肃的生产部署中更改这些密码。
minio_safeguard
名称:minio_safeguard
,类型:bool
,层级:G/C/A
防止意外移除?默认值为 false
如果启用,minio-rm.yml
剧本将中止并拒绝移除 MinIO 集群,提供防止意外删除的保护。
minio_rm_data
名称:minio_rm_data
,类型:bool
,层级:G/C/A
移除期间删除 minio 数据?默认值为 true
启用时,minio-rm.yml
剧本将在集群移除期间删除 MinIO 数据目录和配置文件。
minio_rm_pkg
名称:minio_rm_pkg
,类型:bool
,层级:G/C/A
移除期间卸载 minio 包?默认值为 false
启用时,minio-rm.yml
剧本将在集群移除期间卸载 MinIO 包。默认禁用此功能,以保留 MinIO 安装以供将来可能使用。