本页记录了管理现有 MinIO 租户的几种常见操作流程。
此过程记录了通过添加新的MinIO Pod池和存储资源来扩展MinIO租户的方法。
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:
|
设置为支持轻松视觉识别的名称 |
nodeAffinity:
required:
nodeSelectorTerms:
- key:
values:
|
设置为物理磁盘所安装的节点名称。 |
spec:
storage-class:
|
设置为 |
spec:
local:
path:
|
设置为本地连接磁盘的完整文件路径。您 可以指定磁盘上的目录来隔离 MinIO 特定数据。 指定的磁盘或目录必须对于 MinIO 启动必须为空。 |
创建一个PV对于新池中的每个卷。例如,给定一个具有4个可用节点且每个节点有4个本地连接驱动器的Kubernetes集群,总共创建16个local PVs.
发出kubectl get PV验证已创建 PV 的命令:
kubectl get PV
使用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租户的新存储池的名称。 |
|
The number of |
|
新租户池中的卷数量。 |
|
租户池的总容量。 |
|
Kubernetes |
|
现有 MinIO 租户的 Kubernetes 命名空间,将向其中添加新的租户池。 |
使用kubectl minio tenant info返回 MinIO Tenant 摘要的命令,包括新添加的 Pool:
kubectl minio tenant info minio-tenant-1 \
--namespace minio-tenant-1
此过程记录了在 MinIO 租户上运行的 Pod 的升级过程。
使用kubectl minio tenant info返回 MinIO Tenant 摘要的命令,包括新添加的 Pool:
kubectl minio tenant info TENANT_NAME \
--namespace TENANT_NAMESPACE
替换TENANT_NAME使用租户的名称。
替换TENANT_NAMESPACE使用租户的命名空间。
输出包括租户中所有 Pod 使用的 MinIO Server 版本。
使用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.
使用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使用租户的命名空间。
该命令包含一个确认提示,需要明确批准删除操作。