为 MinIO 创建 BucketClass
MinIO 通过 Container Object Storage Interface (COSI) 与 Kubernetes 集成,提供可扩展的、兼容 S3 的对象存储,适用于分析、备份与恢复以及 ML/AI 工作负载。在配置桶之前,需要定义一个 BucketClass。
BucketClass 是一个模板资源,用于设置存储驱动、认证 Secret 以及应用于所有由其创建的桶的删除策略。
目录
前提条件步骤 1 - 准备 MinIO 集群步骤 2 - 准备凭证 Secret步骤 3 - 创建 BucketClass选项 1 - UI 操作流程选项 2 - YAML(支持 GitOps)验证与后续步骤前提条件
步骤 1 - 准备 MinIO 集群
确保已安装并可访问 MinIO 集群。请参考 MinIO 安装文档 部署和配置您的 MinIO 环境。
步骤 2 - 准备凭证 Secret
COSI 从 Kubernetes Secret 中获取 MinIO 凭证。收集以下值:
Endpoint- 例如http://minio.minio-system.svc或https://minio.example.com:9000AccessKeySecretKey
在目标命名空间中创建 Secret,并为 UI 发现添加标签:
重要提示: 标签 app=minio 是平台 UI 列出该 Secret 的必要条件。
注意: 键名 区分大小写,必须严格为 Endpoint、AccessKey 和 SecretKey。
如果您偏好 GitOps,可以声明式定义 Secret:
步骤 3 - 创建 BucketClass
选项 1 - UI 操作流程
-
进入 Storage → Object StorageClass,点击 Create Object StorageClass。
-
选择驱动为 MinIO Object Storage。
-
配置以下字段:
- Deletion Policy - 当 BucketClaim 被删除时,底层桶的处理方式(默认值:
Delete)。 - Secret - 选择步骤 2 中创建的 Secret(仅显示带有
app=minio标签的 Secret)。 - Allocate Projects - 可选:限制使用范围到特定项目。
- Deletion Policy - 当 BucketClaim 被删除时,底层桶的处理方式(默认值:
-
点击 Create。
选项 2 - YAML(支持 GitOps)
创建 minio-bucketclass.yaml。以下示例使用 MinIO COSI 驱动,并指向正确的 Secret 引用。
应用清单:
验证与后续步骤
验证 BucketClass:
当 BucketClass 准备就绪后,创建引用该 BucketClass 的 Bucket 或 BucketClaim 资源,以配置由 MinIO 支持的兼容 S3 的对象存储。