MinIO Operator是一个遵循Kubernetes Operator模式的管理工具,用于在Kubernetes集群中部署、管理和维护MinIO对象存储实例。它通过自定义资源定义(CRD)提供声明式API,将MinIO集群的生命周期管理(如部署、扩展、升级、备份、恢复)抽象为Kubernetes原生资源操作,降低云原生环境下对象存储的管理复杂度,适用于企业级对象存储需求的自动化运维。
MinIOInstance自定义资源(CR)声明MinIO集群配置,Kubernetes控制器自动协调实际状态与期望状态。spec.pools.replicas参数实现计算资源扩展,通过volumeClaimTemplate调整存储容量扩展。spec.tls参数启用证书管理。spec.backups定义定时备份或手动触发备份。spec.metrics配置监控规则,结合Grafana实现可视化 dashboards。步骤1:安装CRD和Operator
通过MinIO官方提供的YAML文件安装CRD和Operator部署资源:
bashkubectl apply -k https://github.com/minio/operator.git/helm/operator/crds?ref=v5.0.0 kubectl apply -k https://github.com/minio/operator.git/helm/operator?ref=v5.0.0
步骤2:验证Operator部署
检查Operator Pod状态:
bashkubectl get pods -n minio-operator # 预期输出示例: # NAME READY STATUS RESTARTS AGE # minio-operator-xxxxxxxxx 1/1 Running 0 5m
步骤1:创建MinIOInstance自定义资源
创建minio-instance.yaml文件,定义MinIO集群配置:
yamlapiVersion: minio.min.io/v2 kind: MinIOInstance metadata: name: minio-cluster namespace: minio spec: # 集群名称 clusterName: "minio-cluster" # MinIO镜像版本 image: "minio/minio:RELEASE.2024-05-07T05-11-28Z" # 访问密钥(通过Kubernetes Secret管理) credentials: name: minio-creds # 存储池配置(支持多池) pools: - name: pool-0 replicas: 4 # 4副本(生产建议至少4副本确保高可用) volumeClaimTemplate: metadata: name: minio-data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi # 单PVC容量 storageClassName: "standard" # 存储类名称 # 资源限制 resources: requests: cpu: 1 memory: 2Gi limits: cpu: 2 memory: 4Gi # 启用监控 metrics: enabled: true
步骤2:创建访问密钥Secret
bashkubectl create secret generic minio-creds -n minio \ --from-literal=accesskey=AKIAEXAMPLE \ --from-literal=secretkey=secretkeyexample123
步骤3:部署MinIO集群
bashkubectl apply -f minio-instance.yaml -n minio
步骤4:验证集群状态
bashkubectl get minioinstances.min.io -n minio # 预期输出示例: # NAME STATE AGE # minio-cluster Running 10m
| 参数路径 | 描述 | 示例值 |
|---|---|---|
metadata.name | MinIO集群实例名称 | minio-cluster |
spec.image | MinIO镜像版本 | minio/minio:RELEASE.2024-05-07T05-11-28Z |
spec.credentials.name | 存储访问密钥的Kubernetes Secret名称 | minio-creds |
spec.pools | 存储池配置列表(支持多池) | - |
spec.pools[0].replicas | 存储池副本数(建议≥4确保高可用) | 4 |
spec.pools[0].volumeClaimTemplate.spec.storage | 单PVC存储容量 | 10Gi |
spec.resources | 资源请求与限制配置 | requests: {cpu: 1, memory: 2Gi} |
spec.metrics.enabled | 是否启用监控指标暴露 | true |
spec.tls.enabled | 是否启用TLS加密传输(需配置证书Secret) | true |
bashkubectl delete minioinstances.min.io minio-cluster -n minio
bashkubectl delete -k https://github.com/minio/operator.git/helm/operator?ref=v5.0.0 kubectl delete crd minioinstances.min.io
注意:删除MinIO集群实例不会自动删除存储卷(PV),需手动清理数据卷以释放存储资源。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务