MinIO Operator 扩容多节点 MinIO 集群
使用的 MinIO 为 MinIO Operator 方式部署的,这里记录的扩容方式也是使用 Operator 方式扩容,将现有的4个MinIO节点扩容为 8 个节点,准备好k8s节点之后,对 MinIO 自身的扩容只需要在 MinIO Operator 的前端页面上操作就好了
暂时没有比较好的对单节点扩容为多节点的方法,可以考虑将单节点MinIO数据同步到多节点MinIO集群
准备 k8s 节点
扩容 Pool 之前需要先保证k8s集群中有合适的节点运行新的 minio pod,并给新节点打上标签,后面配置Pod调度到这些节点上
kubectl label nodes <nodes> k8s/minio-pool=pool1
MinIO 扩容
访问 minio operator 控制台,比如:http://minio-op-console.xxx.com/tenants
查看登录的 token
kubectl get secret console-sa-secret -n minio-operator -o go-template='{{ .data.token | base64decode}}{{"\n"}}'
MinIO 扩容期间会有几分钟不可用
在 Tenants 界面,点击要扩容的 tenant,然后在 Pools 界面点击 Expand Tenant

对新添加的 Pool 进行配置
在 Setup 页面,配置Number of Servers、Volume Size、Volumes per Server要与现有的 pool-0 保持一致

对新 minio pod 运行所在的节点进行配置(否则将有可能与现有的 pool-0 中的 minio pod 在同一个节点上),在 Pod Placement界面对 Pod 配置Node Selector,选择给新节点的标签,随后点击Create

已经有两个 pool,并且集群总 Capacity 已经变成 1.6TiB(之前是 800G)

pool-1 的 Pod 已成功运行,并且分散在不同的 Node 上

监控页面
