概述
了解 RustFS Operator 如何在 Kubernetes 上管理 RustFS 集群。
RustFS Operator 将 Kubernetes Operator 模式应用于 RustFS 集群。你无需手动创建 StatefulSet、Service、PersistentVolumeClaim(PVC)和配置,只需将所需的存储集群声明为 Kubernetes 自定义资源。控制器会监视该资源,并持续协调运行中集群与声明状态,使二者保持一致。
Operator 会安装两个 Custom Resource Definition(CRD):
Tenant(rustfs.com/v1alpha1)表示一个 RustFS 集群。它定义存储池、凭证、调度、传输层安全性(TLS)和密钥管理服务(KMS)设置。PolicyBinding(sts.rustfs.com/v1alpha1)在工作负载从 Operator Security Token Service(STS)请求临时凭证时,将 Kubernetes ServiceAccount 映射到 RustFS 策略。
一个 Operator 可以跨命名空间管理多个租户。每个租户都有独立的存储、凭证、S3 和控制台服务以及生命周期。Operator 为每个存储池创建一个 StatefulSet,因此你可以通过追加存储池来扩容,而无需重建集群。它还会报告 Ready、Progressing 或 Degraded 状况以及 Kubernetes Event,并公开用于集群监控的健康检查和指标端点。
同一套 API 同时适用于小型测试集群和分布式部署。敏感凭证和 KMS 材料保存在 Kubernetes Secret 中,纳入版本控制的 Tenant manifest 仅包含 Secret 引用。这让部署可重复执行,支持 GitOps 工作流,并可通过 Kubernetes 原生工具完成多租户管理、存储池扩容、TLS 和加密等日常操作。
Operator 工作流
- 安装介绍环境要求、Helm 安装、控制台访问和 TLS 配置。
- 多租户为不同团队或工作负载创建相互隔离的 RustFS 集群。
- 存储池扩容通过向现有租户追加存储池来增加存储容量。
- KMS 集成为加密数据配置本地或 HashiCorp Vault 密钥管理。
预发布软件
RustFS Operator 目前是正在积极开发的 v0.1.0 预发布软件。请先在非生产集群中验证升级和租户变更。