MinIO® Operator是一个Kubernetes原生工具,用于跨混合云基础设施部署和管理高性能、S3兼容的MinIO®对象存储。
基于MinIO® Operator的Bitnami对象存储概述
商标说明:本软件列表由Bitnami打包。产品中提及的 respective trademarks 归各自公司所有,使用这些商标并不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/minio-operator
希望在生产环境中使用基于MinIO® Operator的Bitnami对象存储?请尝试VMware Tanzu应用目录,Bitnami目录的商业版。
自2025年8月28日起,Bitnami将升级其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像集。作为此次转型的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问Bitnami Secure Images公告。
此Chart使用Helm包管理器在Kubernetes集群上引导基于MinIO® Operator的Bitnami对象存储部署。
要使用发布名称“my-release”安装Chart:
consolehelm install my-release REGISTRY_NAME/REPOSITORY_NAME/minio-operator
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
该命令使用默认配置在Kubernetes集群上部署基于MinIO® Operator的Bitnami对象存储。参数部分列出了安装期间可配置的参数。
提示:使用
helm list列出所有发布。
MinIO® Operator允许通过环境变量进行配置。如果您想添加额外的配置设置,可以使用extraEnvVars属性。
yamlextraEnvVars: - name: SUBNET_BASE_URL value: mynet.test
或者,您可以使用包含环境变量的ConfigMap或Secret。为此,请使用extraEnvVarsCM或extraEnvVarsSecret值。
在上游minio-operator文档中找到更多配置设置。
Bitnami Charts允许为Chart部署中的所有容器设置资源请求和限制。这些设置位于resources值中(查看参数表)。设置请求对于生产工作负载至关重要,应根据您的具体用例进行调整。
为简化此过程,Chart包含resourcesPreset值,该值会根据不同的预设自动设置resources部分。在bitnami/common chart中查看这些预设。但是,在生产工作负载中不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参阅***Kubernetes文档。
要在Kubernetes上备份和恢复Helm Chart部署,您需要使用Velero(Kubernetes备份/恢复工具)备份源部署的持久卷,并将其附加到新部署。在本指南中找到使用Velero的说明。
强烈建议在生产环境中使用不可变标签。这可确保如果相同标签使用不同镜像更新,您的部署不会自动更改。
如果主容器有新版本、重大更改或严重漏洞,Bitnami将发布新的Chart来更新其容器。
如果在minio-operator所在的同一Pod中需要额外的容器(例如额外的指标或日志导出器),可以使用sidecars参数定义它们:
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如果这些边车容器导出额外的端口,可以使用service.extraPorts参数(如可用)添加额外的端口定义,如下例所示:
yamlservice: extraPorts: - name: extraPort port: *** targetPort: ***
如果在同一Pod中需要额外的初始化容器,可以使用initContainers参数定义它们。例如:
yamlinitContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
了解更多关于边车容器和初始化容器的信息。
除了Operator之外,您可能还想部署MinIO® Tenant对象。为此,Chart允许使用extraDeploy参数添加其他对象的完整规范。以下示例创建一个MinIO®租户,包含两个包含控制台和API凭据的Secret:
yamlextraDeploy: apiVersion: v1 kind: Secret metadata: name: storage-configuration stringData: config.env: |- export MINIO_ROOT_USER="minio" export MINIO_ROOT_PASSWORD="minio123" export MINIO_STORAGE_CLASS_STANDARD="EC:2" export MINIO_BROWSER="on" type: Opaque - apiVersion: v1 stringData: CONSOLE_ACCESS_KEY: console CONSOLE_SECRET_KEY: console123 kind: Secret metadata: name: storage-user type: Opaque - apiVersion: minio.min.io/v2 kind: Tenant metadata: annotations: prometheus.io/path: /minio/v2/metrics/cluster prometheus.io/port: "9000" prometheus.io/scrape: "true" labels: app: minio name: my-minio spec: certConfig: {} configuration: name: storage-configuration env: [] externalCaCertSecret: [] externalCertSecret: [] externalClientCertSecrets: [] features: bucketDNS: false domains: {} mountPath: /export podManagementPolicy: Parallel pools: - affinity: nodeAffinity: {} podAffinity: {} podAntiAffinity: {} containerSecurityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsGroup: 1001 runAsNonRoot: true runAsUser: 1001 seccompProfile: type: RuntimeDefault name: pool-0 nodeSelector: {} resources: {} securityContext: fsGroup: 1001 fsGroupChangePolicy: OnRootMismatch runAsGroup: 1001 runAsNonRoot: true runAsUser: 1001 servers: 2 tolerations: [] topologySpreadConstraints: [] volumeClaimTemplate: apiVersion: v1 kind: persistentvolumeclaims metadata: {} spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi storageClassName: standard status: {} volumesPerServer: 2 priorityClassName: "" requestAutoCert: true serviceAccountName: "" serviceMetadata: consoleServiceAnnotations: {} consoleServiceLabels: {} minioServiceAnnotations: {} minioServiceLabels: {} subPath: "" users: - name: storage-user
在基于MinIO® Operator的Bitnami对象存储***文档中查看可用对象列表。
此Chart允许使用affinity参数设置自定义亲和性。在Kubernetes文档中找到有关Pod亲和性的更多信息。
作为替代方案,使用bitnami/common Chart中提供的Pod亲和性、Pod反亲和性和节点亲和性的预设配置之一。为此,在operator、apiserver和cluster部分中设置podAffinityPreset、podAntiAffinityPreset或nodeAffinityPreset参数。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext部分,使其与OpenShift restricted-v2 SCC兼容:移除runAsUser、runAsGroup和fsGroup,让平台使用其允许的默认ID。可能的值:auto(如果检测到运行的集群是OpenShift则应用)、force(始终执行调整)、disabled(不执行调整) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 覆盖Kubernetes版本 | "" |
apiVersions | 覆盖.Capabilities报告的Kubernetes API版本 | [] |
nameOverride | 部分覆盖common.names.name的字符串 | "" |
fullnameOverride | 完全覆盖common.names.fullname的字符串 | "" |
namespaceOverride | 完全覆盖common.names.namespace的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes集群域名 | cluster.local |
extraDeploy | 要随发布一起部署的额外对象数组 | [] |
image.registry | MinIO® Operator镜像仓库 | REGISTRY_NAME |
image.repository | MinIO® Operator镜像存储库 | REPOSITORY_NAME/minio-operator |
image.digest | MinIO® Operator镜像摘要,格式为sha256:aa.... 请注意,若设置此参数,将覆盖镜像标签(建议使用不可变标签) | "" |
image.pullPolicy | MinIO® Operator镜像拉取策略 | IfNotPresent |
image.pullSecrets | MinIO® Operator镜像拉取密钥 | [] |
image.debug | 启用MinIO® Operator镜像调试模式 | false |
sidecarImage.registry | MinIO® Operator边车镜像仓库 | REGISTRY_NAME |
sidecarImage.repository | MinIO® Operator边车镜像存储库 | REPOSITORY_NAME/minio-operator-sidecar |
sidecarImage.digest | MinIO® Operator边车镜像摘要,格式为sha256:aa.... 请注意,若设置此参数,将覆盖镜像标签(建议使用不可变标签) | "" |
minioImage.registry | MinIO®镜像仓库 | REGISTRY_NAME |
minioImage.repository | MinIO®镜像存储库 | REPOSITORY_NAME/minio |
minioImage.digest | MinIO®镜像摘要,格式为sha256:aa.... 请注意,若设置此参数,将覆盖标签 | "" |
replicaCount | 要部署的MinIO® Operator副本数 | 1 |
livenessProbe.enabled | 在MinIO® Operator容器上启用存活探针 | true |
livenessProbe.initialDelaySeconds | 存活探针初始延迟秒数 | 5 |
livenessProbe.periodSeconds | 存活探针周期秒数 | 10 |
livenessProbe.timeoutSeconds | 存活探针超时秒数 | 5 |
livenessProbe.failureThreshold | 存活探针失败阈值 | 5 |
livenessProbe.successThreshold | 存活探针成功阈值 | 1 |
readinessProbe.enabled | 在MinIO® Operator容器上启用就绪探针 | true |
readinessProbe.initialDelaySeconds | 就绪探针初始延迟秒数 | 5 |
readinessProbe.periodSeconds | 就绪探针周期秒数 | 10 |
readinessProbe.timeoutSeconds | 就绪探针超时秒数 |
注意:此Chart的README超出了DockerHub的25000字符限制,因此已被截断。完整README可在[***]
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429