当前稳定版本是 4.4.16
此参考文档反映了 4.4.16 版本的
MinIO Kubernetes Operator 和kubectl minioplugin.
Thekubectl minioplugin brings native support for deploying MinIO tenants
to Kubernetes clusters using the
插件为在Kubernetes集群上部署MinIO租户提供了原生支持kubectlCLI。您可以使用kubectl minio要部署一个MinIO租户,几乎无需交互即可完成YAML配置文件。
MinIO Kubernetes 插件需要 Kubernetes 1.19.0 或更高版本:
以下代码下载 MinIO Kubernetes 插件的最新稳定版本 4.4.16 并将其安装到系统中$PATH:
wget https://github.com/minio/operator/releases/download/v4.4.16/kubectl-minio_4.4.16_linux_amd64 -O kubectl-minio
chmod +x kubectl-minio
mv kubectl-minio /usr/local/bin/
您可以通过以下方式访问该插件:kubectl minio命令。运行以下命令来验证插件的安装:
kubectl minio version
初始化 MinIO Operator。kubectl minio需要该运算符来实现核心功能。
该命令具有以下语法:
kubectl minio init [FLAGS]
该命令支持以下参数:
用于部署操作员的镜像。 默认为operator 的最新版本.
用于拉取操作的密钥--image.
MinIO托管的minio/k8s-operatorimage is不密码保护。
此选项仅适用于非 MinIO 镜像源且受密码保护的情况。
部署时使用的镜像MinIO Console在 Operator 模式下,管理员可以通过图形用户界面创建和管理 MinIO 租户。
默认为minio/console:v0.7.4.
默认minio创建新 MinIO 租户时使用的镜像。默认为minio/minio:RELEASE.2021-06-07T21-40-51Z.
默认MinIO Console创建新 MinIO 租户时使用的镜像。默认为minio/console:v0.7.4.
默认咳嗽创建新 MinIO 租户时使用的镜像。默认为minio/kes:v0.14.0.
删除 MinIO Operator 及其所有相关资源,
包括所有 MinIO Tenant 实例watched namespace.
警告
如果底层持久卷(Persistent Volumes)PV) 创建时的回收策略为recycle or delete删除 MinIO Tenant 将导致该租户上存储的所有对象完全丢失。
在删除 MinIO 租户上的任何数据之前,请务必完成所有必要的尽职调查以确认数据安全性。
该命令具有以下语法:
kubectl minio delete [FLAGS]
该命令接受以下参数:
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
在 Kubernetes 集群中创建包含以下资源的 MinIO 租户。create始终使用
最新稳定版本的MinIO Server和MinIO Console.
该命令具有以下语法:
kubectl minio tenant create TENANT_NAME FLAGS [ FLAGS ]
以下示例创建一个 MinIO 租户,该租户包含 4 个 MinIO 服务器,每个服务器有 8 个驱动器,总容量为 32Ti:
kubectl minio tenant create minio-tenant-1 \
--servers 4 \
--volumes 8 \
--capacity 32Ti \
--namespace minio-tenant-1 \
--storage-class local-storage
成功时,该命令返回以下内容:
租户的管理员用户名和密码。请将这些凭据存储在安全位置,例如受密码保护的密钥管理器。MinIO不会不再次显示这些凭据。
用于连接到 MinIO 控制台的服务。该控制台支持对租户执行管理操作,例如配置身份和访问管理(IAM)和存储桶配置。
为连接到 MinIO 租户而创建的服务。应用程序应使用此服务来对 MinIO 租户执行操作。
该命令支持以下参数:
必需
命令创建的 MinIO 租户的名称。该必须保持独特性namespace.
必需
The number ofminio要在Kubernetes集群上部署的服务器。
确保指定的数量--serversdoes不超过 Kubernetes 集群中的节点数量。MinIO 强烈建议将集群规模设置为每个 MinIO 服务器对应一个节点。
必需
MinIO 租户中的卷数量。kubectl minio tenant create生成一个Persistent Volume Claim (PVC)对于每个
卷。
卷数会影响每个卷的请求存储量PVC 和数量PVC关联到集群中每个 MinIO Pod:
该命令kubectl minio划分--capacity根据卷数来确定数量resources.requests.storage设置
对于每个PVC.
kubectl minio确定数量PVC关联到每个minio通过划分服务器--volumes by
--servers.
该命令会生成每个PVC使用特定于 Pod 的选择器,使得
每个 Pod 仅使用PV那些本地附加到运行该 Pod 的节点上的
如果指定的卷数超过未绑定的卷数PV在集群上可用,kubectl minio tenant create挂起并等待直到所需的PV存在。
必需
MinIO租户的总容量。kubectl minio将容量除以数量--volumes确定resources.requests.storage为每个
Persistent Volume Claim (PVC) 设置PVC).
如果没有持久卷(Persistent Volumes)PV) 可以满足请求的存储需求,kubectl minio tenant create挂起并等待,直到所需的存储存在。
可选
Kubernetes 的名称存储类to use
当创建持久卷声明(Persistent Volume Claims)时PVC) 用于
MinIO Tenant。指定的--storage-class
必须匹配storage-class持久化卷(Persistent Volumes)的PVs对此,PVCs应该绑定。
MinIO 强烈建议创建一个与租户部署的主机上本地附加卷相对应的存储类。这确保每个 Pod 都能使用本地附加存储以获得最佳性能和吞吐量。请参阅部署一个 MinIO 租户有关为 MinIO 租户创建存储类的指导教程
默认为default.
可选
要在其中创建 MinIO 租户及其关联资源的命名空间。
MinIO 支持完全一致的一每个命名空间一个MinIO租户。为部署到集群中的每个MinIO租户创建一个唯一的命名空间。
默认为minio.
输出生成的内容YAML格式化的规范对象STDOUT如需进一步自定义。
--outputdoes不创建 MinIO 租户。使用kubectl apply -f <FILE>手动使用生成的文件创建 MinIO 租户。
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
扩展 MinIO 租户的总容量,通过添加新的存储池实现。每个存储池由一组独立运行的 MinIO 服务器和 MinIO 控制台 Pod 组成。新存储池使用的 MinIO 服务器和控制台 Docker 镜像与现有租户保持一致。
该命令具有以下语法:
kubectl minio tenant expand TENANT_NAME --REQ_FLAGS [OPT_FLAGS]
以下示例扩展了一个 MinIO 租户,新增一个包含 4 个 MinIO 服务器的存储池,每个服务器配备 8 个驱动器, 总容量增加 32Ti:
kubectl minio tenant expand minio-tenant-1 \
--servers 4 \
--volumes 8 \
--capacity 32Ti \
--namespace minio-tenant-1 \
--storage-class local-storage
该命令支持以下参数:
必需
The number ofminio要在新的 MinIO 租户池中部署的服务器。
确保指定的数量--serversdoes不超过 Kubernetes 集群中可用节点的数量。
必需
新 MinIO 租户池中的卷数量。kubectl minio生成一个持久卷声明(PVC) 对于
每个卷。
卷数会影响每个卷的请求存储量PVC 和数量PVC关联到新池中的每个 MinIO Pod:
该命令kubectl minio划分--capacity根据卷数来确定数量resources.requests.storage设置
对于每个PVC.
kubectl minio确定数量PVC关联到每个minio通过划分服务器--volumes by
--servers.
该命令会生成每个PVC使用特定于 Pod 的选择器,使得
每个 Pod 仅使用PV那些本地附加到运行该 Pod 的节点上的
如果指定的卷数超过未绑定的卷数PV在集群中可用,kubectl minio tenant expand挂起并等待直到所需的PV存在。
必需
新 MinIO 租户池的总容量。kubectl minio将容量除以数量--volumes确定resources.requests.storage为每个
Persistent Volume Claim (PVC) 设置PVC).
如果现有的持久卷(Persistent Volumes)PV) 可以满足请求的存储需求,kubectl minio tenant expand挂起并等待,直到所需的存储存在。
可选
Kubernetes 的名称存储类to use
当创建持久卷声明(Persistent Volume Claims)时PVC) 用于新的
MinIO Tenant Pool。指定的--storage-class
必须匹配storage-class持久化卷(Persistent Volumes)的PVs对此,PVCs应该绑定。
MinIO 强烈建议创建一个与租户部署的主机上本地附加卷相对应的存储类。这确保每个 Pod 都能使用本地附加存储以获得最佳性能和吞吐量。请参阅部署一个 MinIO 租户有关为 MinIO 租户创建存储类的指导教程
输出生成的内容YAML对象STDOUT用于进一步
自定义。
--outputdoes不创建
新的 MinIO 租户池。使用kubectl apply -f <FILE>手动
使用生成的文件创建 MinIO 租户。
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
升级minioMinIO 租户使用的服务器 Docker 镜像。
重要
MinIO 会同时升级租户中所有 Pod 使用的镜像。在升级过程完成之前,这可能会导致服务中断。
该命令具有以下语法:
kubectl minio tenant upgrade TENANT_NAME FLAGS [FLAGS]
以下示例将 MinIO Tenant 升级至使用最新稳定版本的 MinIO 服务器:
kubectl minio tenant upgrade minio-tenant-1 \
--image minio/minio
该命令支持以下参数:
输出生成的内容YAML格式化的规范对象STDOUT如需进一步自定义。
--outputdoes不升级 MinIO 租户。使用kubectl apply -f <FILE>手动使用生成的文件升级 MinIO 租户。
Command Requires MinIO Operator
在运行此命令前,请使用以下命令验证运算符是否在线且可用:
kubectl get deployments -A --field-selector metadata.name=minio-operator
发出kubectl minio init启动 operator 的命令(如果它尚未在 Kubernetes 集群中运行)。
删除 MinIO 租户及其关联资源。
每个 Persistent Volume Claims 的删除行为PVC) 由
租户依赖于回收策略其绑定的
持久卷 (Persistent VolumePV):
对于recycle or delete策略,该命令将删除PVC.
对于retain该命令保留了PVC.
底层数据的删除PV无论是自动还是手动,都会导致存储在 MinIO 租户上的所有对象丢失。请务必履行所有尽职调查,确保存储数据的安全。之前删除租户。
该命令具有以下语法:
kubectl minio tenant delete TENANT_NAME FLAGS [ FLAGS ]
–namespace minio-tenant-1
该命令包含一个确认提示,需要明确批准删除操作。
kubectl minio tenant delete --names TENANT_NAME [OPTIONAL_FLAGS]
该命令支持以下参数: