升级 MinIO 租户
以下过程使用 Kustomize 或 Helm 升级单个 MinIO 租户。 MinIO 建议在生产租户升级之前,先在较低环境(如开发或 QA 租户)中测试升级。
重要
对于使用早于RELEASE.2024-03-30T09-41-56Z正在运行AD/LDAP已启用,必须阅读发布说明RELEASE.2024-04-18T19-09-19Z在开始此过程之前。 您必须按照链接版本中记录的额外步骤作为升级过程的一部分。
使用 Kustomize 升级租户
以下过程使用 Kustomize 和kubectlCLI.
如果您使用Helm, 使用使用 MinIO Helm Chart 升级租户改为使用过程。
要使用 Kustomize 升级租户:
如果租户是通过 Operator Console 部署的,在升级前需要执行额外步骤来创建基础配置文件。
如果租户是使用 Kustomize 部署的,基础配置就是您现有的kustomization来自原始租户部署的文件。
根据租户的部署方式选择下面的选项卡:
创建基础配置文件:
在合适的目录中,使用以下命令将当前租户配置保存到文件中:
kubectl get:kubectl get tenant/my-tenant -n my-tenant-ns -o yaml > my-tenant-base.yaml
替换
my-tenant和my-tenant-ns使用要升级的租户的名称和命名空间。编辑文件以删除以下行:
creationTimestamp:resourceVersion:uid:selfLink:(如果存在)
例如,删除高亮显示的行:
metadata: creationTimestamp: "2024-05-29T21:22:20Z" generation: 1 name: my-tenant namespace: my-tenant-ns resourceVersion: "4699" uid: d5b8e468-3bed-4aa3-8ddb-dfe1ee0362da
在同一目录下,创建一个
kustomization.yaml内容类似于以下内容的文件:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - my-tenant-base.yaml patches: - path: upgrade-minio-tenant.yaml
如果您使用了不同的文件名
kubectl get上一步的输出,替换my-tenant-base.yaml使用该文件的名称。
您可以使用以下方式升级租户:
kustomization将原始部署中的文件作为基础配置。 如果您不再拥有这些文件,请按照 Operator Console-Deployed Tenant 选项卡中的说明操作。
创建一个
upgrade-minio-tenant.yaml内容类似于以下内容的文件:
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: my-tenant
namespace: my-tenant-ns
spec:
image: minio/minio:MINIOLATEST
This file instructs Kustomize to upgrade the tenant using the specified image.
The name of this file,upgrade-minio-tenant.yaml必须匹配patches.pathfilename specified in thekustomization.yaml上一步中创建的文件。
替换my-tenant和my-tenant-ns使用要升级的租户的名称和命名空间。
指定要升级到的 MinIO 版本在image:.
或者,您可以根据本地流程直接更新基础配置。 参考Kustomize Documentation欲了解更多信息。
从与上述文件相同的目录中,将更新后的配置应用到租户
kubectl apply:
kubectl apply -k ./输出类似于以下内容:
tenant.minio.min.io/my-tenant configured
使用 MinIO Helm Chart 升级租户
此过程使用 Helm Charts 升级现有的 MinIO 租户。
如果您使用 Kustomize 部署了租户,请使用使用 Kustomize 升级租户改为使用过程。
验证现有的 MinIO 租户安装。
使用
kubectl get all -n TENANT_NAMESPACE验证所有租户 Pod 和服务的健康状态与运行状况。使用
helm list查看命名空间中已安装图表的命令:helm list -n TENANT_NAMESPACE
结果应类似于以下内容:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION CHART_NAME TENANT_NAMESPACE 1 2023-11-01 15:49:58.810412732 -0400 EDT deployed tenant-5.0.x v5.0.x
更新 Operator 代码库
使用
helm repo update minio-operator要更新 MinIO Operator 仓库。 如果您为 MinIO Operator 仓库设置了不同的别名,请在命令中指定该别名。 您可以使用helm repo list查看您已安装的代码库。使用
helm search要检查更新 Operator 仓库后的最新可用 Chart 版本:helm search repo minio-operator
响应应类似于以下内容:
NAME CHART VERSION APP VERSION DESCRIPTION minio-operator/minio-operator 4.3.7 v4.3.7 A Helm chart for MinIO Operator minio-operator/operator OPERATOR vOPERATOR A Helm chart for MinIO Operator minio-operator/tenant OPERATOR vOPERATOR A Helm chart for MinIO Operator
The
minio-operator/minio-operator是一个遗留图表,应该不在正常情况下安装。运行
helm upgradeHelm 使用最新的 chart 来升级 Tenant:
helm upgrade -n minio-tenant \ CHART_NAME minio-operator/tenant
命令执行结果应该返回成功,并伴随一个版本号的提升
REVISION值。验证租户升级
检查所有服务和 Pod 是否在线并正常运行。