扩展 MinIO 租户
此过程记录了通过在Kubernetes基础设施中部署额外的MinIO Pod池来扩展现有MinIO租户可用存储容量的方法。
重要
MinIO Operator Console 已弃用,并在 Operator 6.0.0 中移除。
看修改 MinIO 租户有关将通过 Operator Console 安装的租户迁移到 Kustomization 的说明。
前提条件
MinIO Kubernetes Operator
本页面上的此过程需要一个有效的 MinIO Kubernetes Operator 安装,并假设本地主机安装了匹配的 MinIO Kubernetes Operator。 此过程假设使用最新的稳定 Operator 版本 OPERATOR。
看在 Kubernetes 上部署 MinIO有关部署 MinIO Operator 的完整文档。
可用工作节点
MinIO 部署额外的minio serverpods 作为新租户池的一部分。
Kubernetes 集群必须有足够的可用工作节点来调度新的 Pod。
MinIO Operator 提供控制 Pod 亲和性与反亲和性的配置,用于将调度定向到特定工作节点。
Persistent Volumes
驱动器独占访问
MinIO需要 独家对象存储所提供的驱动器或卷的访问权限。 任何其他进程、软件、脚本或人员均不得执行任何直接对提供给 MinIO 的驱动器或卷,或 MinIO 置于其上的对象或文件执行操作。
除非得到 MinIO 工程团队指示,否则不得使用脚本或工具直接修改、删除或移动所提供驱动器上的任何数据分片、校验分片或元数据文件,包括在不同驱动器或节点间的转移操作。 此类操作极有可能导致大范围损坏和数据丢失,超出 MinIO 的自我修复能力范围。
MinIO 可以使用任何 KubernetesPersistent Volume (PV)支持ReadWriteOnce访问模式。
MinIO的一致性保证需要独占存储访问权限,ReadWriteOnce提供。
对于具有直连存储的Kubernetes集群,MinIO强烈建议使用DirectPV CSI 驱动程序DirectPV 提供了一个分布式持久卷管理器,能够跨 Kubernetes 节点实现驱动器的发现、格式化、挂载、调度和监控。 DirectPV 解决了手动配置和监控的限制本地持久化卷.
Note
MinIO Tenants on EKS 必须使用EBS CSI Driverto provision the necessary underlying persistent volumes. MinIO strongly recommends using SSD-backed EBS volumes for best performance. For more information on EBS resources, seeEBS 卷类型.
过程
MinIO Operator 支持通过添加额外池来扩展 MinIO Tenant。
审查描述租户对象的 Kustomization 对象(
tenant.yaml).The
spec.poolsarray 描述了当前的池拓扑结构。添加一个新条目到
spec.pools数组。新池必须反映您预期的 Worker 节点组合、每台服务器的卷数、存储类以及亲和性/调度器设置。 请参阅MinIO Custom Resource Definition有关池相关配置设置的更完整文档。
应用更新后的租户配置
使用
kubectl apply更新租户的命令:kubectl apply -k ~/kustomization/TENANT-NAME
修改 Kustomization 目录的路径以匹配您的本地配置。
审查 Helm
values.yamlfile.The
tenant.poolsarray 描述了当前的池拓扑结构。添加一个新条目到
tenant.pools数组。新池必须反映您预期的 Worker 节点组合、每台服务器的卷数、存储类以及亲和性/调度器设置。 请参阅Tenant Helm Charts有关池相关配置设置的更完整文档。
应用更新后的租户配置
使用
helm upgrade更新租户的命令:helm upgrade TENANT-NAME minio-operator/tenant -f values.yaml -n TENANT-NAMESPACE
上述命令假设使用的是 MinIO Operator Chart 仓库。 如果您手动安装了 Chart 或使用了不同的仓库名称,请在命令中指定相应的 Chart 或名称。
替换
TENANT-NAME和TENANT-NAMESPACE使用租户的名称和命名空间分别。 您可以使用helm list -n TENANT-NAMESPACE验证租户名称。
您可以使用kubectl get events -n TENANT-NAMESPACE --watch监控扩展进度。
MinIO Operator 会更新服务以在新节点间适当路由连接。
如果您使用自定义服务、路由、入口或类似的 Kubernetes 网络组件,可能需要更新这些组件以适应新的 Pod 主机名范围。