
更新记录
2022-09-17
MinIO版本由RELEASE.2022-09-01T23-53-36Z更新至RELEASE.2022-09-07T22-25-02Z;MinIO Operator版本由v4.4.28更新至v4.5.0;MinIO Client版本由RELEASE.2022-08-28T20-08-11Z更新至RELEASE.2022-09-16T09-16-47Z;
2022-09-24
MinIO版本由RELEASE.2022-09-07T22-25-02Z更新至RELEASE.2022-09-22T18-57-27Z;MinIO Operator版本由v4.5.0更新至v4.5.1;
2022-10-01
MinIO版本由RELEASE.2022-09-22T18-57-27Z更新至RELEASE.2022-09-25T15-44-53Z;
2022-10-14
MinIO版本由RELEASE.2022-09-25T15-44-53Z更新至RELEASE.2022-10-08T20-11-00Z;MinIO Operator版本由v4.5.1更新至v4.5.2;MinIO Client版本由RELEASE.2022-09-16T09-16-47Z更新至RELEASE.2022-10-09T21-10-59Z;
2022-10-20
MinIO版本由RELEASE.2022-10-08T20-11-00Z更新至RELEASE.2022-10-15T19-57-03Z;MinIO Operator版本由v4.5.2更新至v4.5.3;MinIO Client版本由RELEASE.2022-10-09T21-10-59Z更新至RELEASE.2022-10-12T18-12-50Z;
2022-11-08
MinIO版本由RELEASE.2022-10-15T19-57-03Z更新至RELEASE.2022-10-29T06-21-33Z;MinIO Operator版本由v4.5.3更新至v4.5.4;MinIO Client版本由RELEASE.2022-10-12T18-12-50Z更新至RELEASE.2022-10-29T10-09-23Z;
2022-11-12
MinIO版本由RELEASE.2022-10-29T06-21-33Z更新至RELEASE.2022-11-11T03-44-20Z;MinIO Client版本由RELEASE.2022-10-29T10-09-23Z更新至RELEASE.2022-11-07T23-47-39Z;
2022-11-18
MinIO版本由RELEASE.2022-11-11T03-44-20Z更新至RELEASE.2022-11-17T23-20-09Z;MinIO Client版本由RELEASE.2022-11-07T23-47-39Z更新至RELEASE.2022-11-17T21-20-39Z;
2022-12-08
MinIO版本由RELEASE.2022-11-17T23-20-09Z更新至RELEASE.2022-12-07T00-56-37Z;MinIO Operator版本由v4.5.4更新至v4.5.5;MinIO Client版本由RELEASE.2022-11-17T21-20-39Z更新至RELEASE.2022-12-02T23-48-47Z;
2022-12-30
MinIO版本由RELEASE.2022-12-07T00-56-37Z更新至RELEASE.2022-12-12T19-27-27Z;MinIO Client版本由RELEASE.2022-12-02T23-48-47Z更新至RELEASE.2022-12-13T00-23-28Z;
2023-01-07
MinIO版本由RELEASE.2022-12-12T19-27-27Z更新至RELEASE.2023-01-02T09-40-09Z;MinIO Operator版本由v4.5.5更新至v4.5.6;MinIO Client版本由RELEASE.2022-12-13T00-23-28Z更新至RELEASE.2022-12-24T15-21-38Z;
2023-01-28
MinIO版本由RELEASE.2023-01-02T09-40-09Z更新至RELEASE.2023-01-25T00-19-54Z;MinIO Operator版本由v4.5.6更新至v4.5.8;MinIO Client版本由RELEASE.2022-12-24T15-21-38Z更新至RELEASE.2023-01-11T03-14-16Z;
2023-02-03
MinIO版本由RELEASE.2023-01-25T00-19-54Z更新至RELEASE.2023-01-31T02-24-19Z;MinIO Client版本由RELEASE.2023-01-11T03-14-16Z更新至RELEASE.2023-01-28T20-29-38Z;
2023-02-11
MinIO版本由RELEASE.2023-01-31T02-24-19Z更新至RELEASE.2023-02-10T18-48-39Z;
2023-03-03
MinIO版本由RELEASE.2023-02-10T18-48-39Z更新至RELEASE.2023-02-27T18-10-45Z;MinIO Client版本由RELEASE.2023-01-28T20-29-38Z更新至RELEASE.2023-02-28T00-12-59Z;
2023-03-22
MinIO版本由RELEASE.2023-02-27T18-10-45Z更新至RELEASE.2023-03-20T20-16-18Z;MinIO Client版本由RELEASE.2023-02-28T00-12-59Z更新至RELEASE.2023-03-20T17-17-53Z;
2023-03-27
MinIO版本由RELEASE.2023-03-20T20-16-18Z更新至RELEASE.2023-03-24T21-41-23Z;MinIO Client版本由RELEASE.2023-03-20T17-17-53Z更新至RELEASE.2023-03-23T20-03-04Z;
2023-04-14
MinIO版本由RELEASE.2023-03-24T21-41-23Z更新至RELEASE.2023-04-13T03-08-07Z;MinIO Operator版本由v4.5.8更新至v5.0.3;MinIO Client版本由RELEASE.2023-03-23T20-03-04Z更新至RELEASE.2023-04-12T02-21-51Z;
2023-06-27
MinIO版本由RELEASE.2023-04-13T03-08-07Z更新至RELEASE.2023-06-23T20-26-00Z;MinIO Operator版本由v5.0.3更新至v5.0.5;MinIO Client版本由RELEASE.2023-04-12T02-21-51Z更新至RELEASE.2023-06-23T18-12-07Z;
2023-07-24
MinIO版本由RELEASE.2023-06-23T20-26-00Z更新至RELEASE.2023-07-21T21-12-44Z;MinIO Operator版本由v5.0.5更新至v5.0.6;MinIO Client版本由RELEASE.2023-06-23T18-12-07Z更新至RELEASE.2023-07-21T20-44-27Z;
2023-08-08
MinIO版本由RELEASE.2023-07-21T21-12-44Z更新至RELEASE.2023-08-04T17-40-21Z;MinIO Operator版本由v5.0.6更新至v5.0.7;MinIO Client版本由RELEASE.2023-07-21T20-44-27Z更新至RELEASE.2023-08-01T23-30-57Z;
2023-09-03
MinIO版本由RELEASE.2023-08-04T17-40-21Z更新至RELEASE.2023-08-31T15-31-16Z;MinIO Client版本由RELEASE.2023-08-01T23-30-57Z更新至RELEASE.2023-08-30T08-02-26Z;
2023-11-18
MinIO版本由RELEASE.2023-08-31T15-31-16Z更新至RELEASE.2023-11-15T20-43-25Z;MinIO Operator版本由v5.0.7更新至v5.0.11;MinIO Client版本由RELEASE.2023-08-30T08-02-26Z更新至RELEASE.2023-11-15T22-45-58Z;
2024-01-01
MinIO版本由RELEASE.2023-11-15T20-43-25Z更新至RELEASE.2023-12-23T07-19-11Z;MinIO Client版本由RELEASE.2023-11-15T22-45-58Z更新至RELEASE.2023-12-23T08-47-21Z;
2024-03-31
MinIO版本由RELEASE.2023-12-23T07-19-11Z更新至RELEASE.2024-03-30T09-41-56Z;MinIO Operator版本由v5.0.11更新至v5.0.14;MinIO Client版本由RELEASE.2023-12-23T08-47-21Z更新至RELEASE.2024-03-30T15-29-52Z;
2024-09-30
MinIO版本由RELEASE.2024-03-30T09-41-56Z更新至RELEASE.2024-09-09T16-59-28Z;MinIO Operator版本由v5.0.14更新至v6.0.3;MinIO Client版本由RELEASE.2024-03-30T15-29-52Z更新至RELEASE.2024-09-09T07-53-10Z;
2025-01-26
MinIO版本由RELEASE.2024-09-09T16-59-28Z更新至RELEASE.2025-01-20T14-49-07Z;MinIO Operator版本由v6.0.3更新至v7.0.0;MinIO Client版本由RELEASE.2024-09-09T07-53-10Z更新至RELEASE.2025-01-17T23-25-50Z;
2025-03-16
MinIO版本由RELEASE.2025-01-20T14-49-07Z更新至RELEASE.2025-03-12T18-04-18Z;MinIO Client版本由RELEASE.2025-01-17T23-25-50Z更新至RELEASE.2025-03-12T17-29-24Z;
2025-04-18
MinIO版本由RELEASE.2025-03-12T18-04-18Z更新至RELEASE.2025-04-08T15-41-24Z;MinIO Operator版本由v7.0.0更新至v7.0.1;MinIO Client版本由RELEASE.2025-03-12T17-29-24Z更新至RELEASE.2025-04-08T15-39-49Z;
2025-05-02
MinIO版本由RELEASE.2025-04-08T15-41-24Z更新至RELEASE.2025-04-22T22-12-26Z;MinIO Operator版本由v7.0.1更新至v7.1.1;MinIO Client版本由RELEASE.2025-04-08T15-39-49Z更新至RELEASE.2025-04-16T18-13-26Z;
2025-09-06
MinIO版本由RELEASE.2025-04-22T22-12-26Z更新至RELEASE.2025-07-23T15-54-02Z;MinIO Client版本由RELEASE.2025-04-16T18-13-26Z更新至RELEASE.2025-07-21T05-28-08Z;
2026-08-23
MinIO由
RELEASE.2025-07-23T15-54-02Z更新至RELEASE.2025-09-07T16-13-09Z,采用官方最后一个容器镜像;MinIO Client由
RELEASE.2025-07-21T05-28-08Z更新至RELEASE.2025-08-13T08-35-41Z;记录MinIO服务端项目已于2026-04-24归档,本文调整为历史参考;
记录本文引用的MinIO Operator和MinIO Client仓库也已归档;
概述
本文用于整理基于Kubernetes环境的MinIO部署与应用,搭建S3兼容的分布式对象存储服务,作为后续演练项目的前置环境准备。
项目状态
MinIO服务端仓库已于2026-04-24归档并进入只读状态,后续不再维护或更新。本文保留为历史部署参考,其中固定的版本和命令不构成当前生产环境建议。新的部署请先核查镜像可用性、安全修复、许可证和支持情况,并评估仍在维护的替代方案。
本文引用的MinIO Operator和MinIO Client仓库也已归档,因此整套部署流程应视为历史方案。
本文已冻结为历史参考,后续不再进行MinIO服务端版本更新,请参考更新记录。
本次演练环境为Kubernetes集群环境,环境配置可参考笔者另一篇笔记《Kubernetes集群部署笔记》。
本次演练使用Traefik作为Ingress Controller实现,环境配置可参考笔者另一篇笔记《Kubernetes环境Traefik部署与应用》。
历史组件版本
-
MinIO
RELEASE.2025-09-07T16-13-09Z -
MinIO Operator
v7.1.1 -
MinIO Client
RELEASE.2025-08-13T08-35-41Z
配置过程
准备工作
-
添加Helm仓库
添加用于安装
minio-operator和minio-tenant的Helm仓库。helm repo add minio-operator https://operator.min.io/ helm repo update minio-operator -
创建命名空间
本次演练中将MinIO Operator安装至
minio-operator命名空间,将MinIO Tenant安装至minio-tenants命名空间,可根据需要替换。kubectl create namespace minio-operator kubectl create namespace minio-tenants -
创建TLS证书Secret
从已准备好的证书
key文件和crt文件创建Secret。kubectl create secret tls local-choral-io-tls -n apps-gitlab \ --key=local.choral.io.key --cert=local.choral.io.crt
安装MinIO Operator
本次演练中将MinIO Tenant安装至minio-operator命名空间,可根据需要替换。
-
安装MinIO Operator
# operator.env[0].name=OPERATOR_STS_ENABLED 设置环境变量`OPERATOR_STS_ENABLED`的值 # operator.env[0].value=off 设置环境变量`OPERATOR_STS_ENABLED`的值为`off`,禁用STS服务 helm upgrade --install --namespace minio-operator \ --set operator.env[0].name=OPERATOR_STS_ENABLED \ --set operator.env[0].value=off \ minio-operator minio-operator/operator --version 7.1.1
安装MinIO Tenant
本次演练中将MinIO Tenant安装至minio-tenants命名空间,可根据需要替换。
-
创建MinIO Tenant
# tenant.name=minio-default 设置MinIO Tenant实例的名称 # tenant.image.tag=RELEASE.2025-09-07T16-13-09Z 指定MinIO镜像的版本 # tenant.pools[0].name=pool-0 设置存储池名称 # tenant.pools[0].servers=3 设置存储池中MinIO服务器数量 # tenant.pools[0].volumesPerServer=3 设置每个服务器的存储卷数量 # tenant.pools[0].storageClassName=local-path 指定分配PVC的存储类 # tenant.pools[0].size=1Gi 定义存储卷的大小 # tenant.certificate.requestAutoCert=false 禁用自动申请证书(使用预配置的证书) # tenant.configuration.name=minio-default-env-configuration 指定环境变量Config Map名称 # tenant.configSecret.name=minio-default-env-configuration 指定密钥配置Secret名称 # tenant.serviceMetadata.minioServiceAnnotations."kube-router\.io/service\.hairpin"="" 启用MinIO服务Hairpin Mode访问(若使用kube-router) # ingress.api.enabled=true 开启MinIO Tenant的Ingress访问 # ingress.api.host=minio.local.choral.io 设置MinIO Tenant服务的访问域名 # ingress.api.tls[0].secretName=local-choral-io-tls 指定TLS证书的Secret名称 # ingress.api.annotations."traefik\.ingress\.kubernetes\.io/router\.entrypoints"=websecure 仅限HTTPS访问 # ingress.console.enabled=true 开启MinIO Console的Ingress访问 # ingress.console.host=minio-console.local.choral.io 定义MinIO Console服务的访问域名 # ingress.console.tls[0].secretName=local-choral-io-tls 指定TLS证书的Secret名称 # ingress.console.annotations."traefik\.ingress\.kubernetes\.io/router\.entrypoints"=websecure 仅限HTTPS访问 helm upgrade --install --namespace minio-tenants \ --set tenant.name=minio-default \ --set tenant.image.tag=RELEASE.2025-09-07T16-13-09Z \ --set tenant.pools[0].name=pool-0 \ --set tenant.pools[0].servers=3 \ --set tenant.pools[0].volumesPerServer=3 \ --set tenant.pools[0].storageClassName=local-path \ --set tenant.pools[0].size=1Gi \ --set tenant.certificate.requestAutoCert=false \ --set tenant.configuration.name=minio-default-env-configuration \ --set tenant.configSecret.name=minio-default-env-configuration \ --set tenant.configSecret.accessKey=minio \ --set tenant.configSecret.secretKey=iRYafUXfG8U3 \ --set tenant.serviceMetadata.minioServiceAnnotations."kube-router\.io/service\.hairpin"="" \ --set ingress.api.enabled=true \ --set ingress.api.host=minio.local.choral.io \ --set ingress.api.tls[0].secretName=local-choral-io-tls \ --set ingress.api.annotations."traefik\.ingress\.kubernetes\.io/router\.entrypoints"=websecure \ --set ingress.console.enabled=true \ --set ingress.console.host=minio-console.local.choral.io \ --set ingress.console.tls[0].secretName=local-choral-io-tls \ --set ingress.console.annotations."traefik\.ingress\.kubernetes\.io/router\.entrypoints"=websecure \ minio-default minio-operator/tenant --version 7.1.1 -
获取访问MinIO Tenant的认证信息
kubectl get secret -n minio-tenants minio-default-env-configuration -o jsonpath="{.data['config\.env']}" | base64 --decode # export MINIO_ROOT_USER="minio" # export MINIO_ROOT_PASSWORD="iRYafUXfG8U3"
安装MinIO Client
-
安装MinIO Client
# 本文冻结版本使用 https://dl.min.io/client/mc/release/linux-amd64/archive/ 下的归档文件 # 笔者本地电脑为`x86_64`架构`Linux`操作系统 sudo curl -L https://dl.min.io/client/mc/release/linux-amd64/archive/mc.RELEASE.2025-08-13T08-35-41Z -o /usr/local/bin/mc # 设置可执行文件的所有者和权限 sudo chown root:root /usr/local/bin/mc sudo chmod 755 /usr/local/bin/mc # 验证是否可以正常运行 mc --version | head -1 # mc version RELEASE.2025-08-13T08-35-41Z (commit-id=7394ce0dd2a80935aded936b09fa12cbb3cb8096)
Bucket配置与应用
-
设置服务别名
mc alias set choral-local https://minio.local.choral.io minio iRYafUXfG8U3 -
创建MinIO Bucket
# 创建一个演示用Bucket,命名为`demo` mc mb choral-local/demo # 设置Bucket的访问策略,允许匿名下载 mc anonymous set download choral-local/demo -
创建和获取对象
# 创建一个示例文件`hello.html` echo "hello, world." > hello.html # 将示例文件复制到Bucket中 mc cp ./hello.html choral-local/demo/html/hello.html # 访问Bucket中的示例文件 curl https://minio.local.choral.io/demo/html/hello.html # hello, world.
卸载和清理(可选)
-
删除MinIO Bucket
# 列出演示用Bucket中的对象 mc ls choral-local/demo # 删除Bucket中指定路径的单个对象 mc rm choral-local/demo/html/hello.html # 删除Bucket中指定前缀的所有对象 mc rm choral-local/demo/html/ --recursive --force # 删除Bucket,若Bucket不为空,默认禁止删除,可添加`--force`参数强制删除 mc rb choral-local/demo # --force -
删除MinIO Tenant
helm uninstall --namespace minio-tenants minio-default -
删除MinIO Operator
helm uninstall --namespace minio-operator minio-operator -
删除PVCs
# 删除关联的存储卷声明 kubectl delete pvc --namespace minio-tenants data{0,1,2}-minio-default-pool-0-{0,1,2}