Logo

文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

管理 MinIO 租户

概述

本页记录了管理现有 MinIO 租户的几种常见操作流程。

扩展 MinIO 租户

此过程记录了通过添加新的MinIO Pod池和存储资源来扩展MinIO租户的方法。

1) 配置持久卷

MinIO 会自动生成一个Persistent Volume Claim (PVC)for each Pool 中的 volume。Kubernetes 集群必须有相等数量的 未绑定Persistent Volumes (PV). MinIO强烈建议使用本地附加存储来最大化性能和吞吐量。

以下步骤创建必要的本地Persistent Volumes (PV) 资源,使得每个 MinIO Pod 及其关联的存储都位于同一节点本地。

如果集群已有本地存储,可以跳过此步骤PV为 MinIO 租户配置使用的资源。

以下 YAML 描述了PV localvolume:

apiVersion: v1
kind: PersistentVolume
metadata:
   name: PV-NAME
spec:
   capacity:
      storage: 1Ti
   volumeMode: Filesystem
   accessModes:
   - ReadWriteOnce
   persistentVolumeReclaimPolicy: Retain
   storage-class: local-storage
   local:
      path: /mnt/disks/ssd1
   nodeAffinity:
      required:
         nodeSelectorTerms:
         - matchExpressions:
         - key: kubernetes.io/hostname
            operator: In
            values:
            - NODE-NAME

字段

描述

metadata:
   name:

设置为支持轻松视觉识别的名称PV及其关联的物理主机。例如,对于PVon hostminio-1考虑指定minio-1-pv-1.

nodeAffinity:
required:
   nodeSelectorTerms:
   - key:
      values:

设置为物理磁盘所安装的节点名称。

spec:
   storage-class:

设置为StorageClass为支持 MinIO 而创建localvolumes.

spec:
   local:
      path:

设置为本地连接磁盘的完整文件路径。您 可以指定磁盘上的目录来隔离 MinIO 特定数据。 指定的磁盘或目录必须对于 MinIO 启动必须为空。

创建一个PV对于新池中的每个卷。例如,给定一个具有4个可用节点且每个节点有4个本地连接驱动器的Kubernetes集群,总共创建16个local PVs.

发出kubectl get PV验证已创建 PV 的命令:

kubectl get PV

2) 扩展 MinIO 租户

使用kubectl minio tenant expand创建 MinIO 租户的命令。

以下示例扩展了一个 MinIO 租户,添加了一个包含 4 个节点的存储池,每个节点配备 4 个本地连接的 1Ti 驱动器:

kubectl minio tenant expand minio-tenant-1   \
  --servers                 4                \
  --volumes                 16               \
  --capacity                16Ti             \
  --storage-class           local-storage    \
  --namespace               minio-tenant-1

下表说明了该命令的每个参数:

论点

描述

minio-tenant-1

命令用于扩展MinIO租户的新存储池的名称。

--servers

The number ofminio跨 Kubernetes 集群的新租户池中要部署的服务器。

--volumes

新租户池中的卷数量。kubectl minio通过除法计算每个服务器的卷数volumes by servers.

--capacity

租户池的总容量。kubectl minio确定每个卷的容量通过划分capacity by volumes.

--storage-class

KubernetesStorageClass在创建每个 PVC 时使用。

--namespace

现有 MinIO 租户的 Kubernetes 命名空间,将向其中添加新的租户池。

3) 验证扩展后的 MinIO 租户

使用kubectl minio tenant info返回 MinIO Tenant 摘要的命令,包括新添加的 Pool:

kubectl minio tenant info minio-tenant-1 \
  --namespace minio-tenant-1

升级 MinIO 租户

此过程记录了在 MinIO 租户上运行的 Pod 的升级过程。

1) 验证当前 MinIO 版本

使用kubectl minio tenant info返回 MinIO Tenant 摘要的命令,包括新添加的 Pool:

kubectl minio tenant info TENANT_NAME \
  --namespace TENANT_NAMESPACE
  • 替换TENANT_NAME使用租户的名称。

  • 替换TENANT_NAMESPACE使用租户的命名空间。

输出包括租户中所有 Pod 使用的 MinIO Server 版本。

2) 升级 MinIO 租户

使用kubectl minio tenant upgrade用于升级所使用的 Docker 镜像的命令全部Tenant 中的 MinIO Pods。MinIO 升级全部 minio同时处理服务器进程。这可能导致在升级过程完成前出现停机时间。

kubectl minio tenant upgrade TENANT_NAME \
  --image     minio:minio:RELEASE:YYYY-MM-DDTHH-MM-SSZ    \
  --namespace TENANT_NAMESPACE                              \
  • 替换TENANT_NAME使用租户的名称。

  • 替换RELEASE:YYYY-MM-DDTHH-MM-SSZ指定要使用的具体版本。minio/minio使用最新稳定版本的 MinIO。

  • 替换TENANT_NAMESPACE使用租户的命名空间。

MinIO 标签对于发布标签列表。 MinIO 发布使用RELEASE:YYYY-MM-DDTHH-MM-SSZformat.

删除一个 MinIO 租户

使用kubectl minio tenant delete删除 MinIO 租户及其关联资源的命令。

每个 Persistent Volume Claims 的删除行为PVC) 由 租户依赖于回收策略其绑定的 持久卷 (Persistent VolumePV):

  • 对于recycle or delete策略,该命令将删除PVC.

  • 对于retain该命令保留了PVC.

底层数据的删除PV无论是自动还是手动,都会导致存储在 MinIO 租户上的所有对象丢失。请务必尽职尽责确保存储数据的安全。之前删除租户。

kubectl minio tenant delete TENANT_NAME \
  --namespace TENANT_NAMESPACE
  • 替换TENANT_NAME使用租户的名称。

  • 替换TENANT_NAMESPACE使用租户的命名空间。

该命令包含一个确认提示,需要明确批准删除操作。