文档

升级 MinIO 租户

以下过程使用 Kustomize 或 Helm 升级单个 MinIO 租户。在升级生产租户之前,MinIO 建议您在较低的环境(例如开发或 QA 租户)中测试升级。

重要

对于使用早于 RELEASE.2024-03-30T09-41-56Z 的 MinIO 镜像且启用了 AD/LDAP 的租户,您**必须**在开始此过程之前阅读 RELEASE.2024-04-18T19-09-19Z 的发行说明。您必须将链接的发行版中记录的额外步骤作为升级过程的一部分。

使用 Kustomize 升级租户

以下过程使用 Kustomize 和 kubectl CLI 升级 MinIO 租户。如果您使用 Helm 部署了租户,请改用 使用 MinIO Helm 图表升级租户 过程。

要使用 Kustomize 升级租户

如果租户是使用 Operator 控制台部署的,则在升级之前需要执行其他步骤来创建基本配置文件。

如果租户是使用 Kustomize 部署的,则基本配置是您来自原始租户部署的现有 kustomization 文件。

根据租户的部署方式选择下面的选项卡

  1. 创建基本配置文件

    1. 在方便的目录中,使用 kubectl get 将当前租户配置保存到文件中

      kubectl get tenant/my-tenant -n my-tenant-ns -o yaml > my-tenant-base.yaml
      

      my-tenantmy-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
      
    2. 在同一目录中,创建一个 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替换为该文件名。

  1. 您可以使用原始部署中的kustomization文件作为基础配置来升级租户。如果您不再拥有这些文件,请按照“Operator 控制台部署的租户”选项卡中的说明操作。

  1. 创建一个名为upgrade-minio-tenant.yaml的文件,其内容类似于以下内容

apiVersion: minio.min.io/v2
kind: Tenant

metadata:
  name: my-tenant
  namespace: my-tenant-ns

spec:
  image: minio/minio:RELEASE.2024-10-29T16-01-48Z

此文件指示 Kustomize 使用指定的镜像来升级租户。此文件的名称upgrade-minio-tenant.yaml必须与在上一步骤中创建的kustomization.yaml文件中指定的patches.path文件名匹配。

my-tenantmy-tenant-ns替换为要升级的租户的名称和命名空间。在image:中指定要升级到的 MinIO 版本。

或者,您可以根据您的本地流程直接更新基础配置。有关更多信息,请参阅Kustomize 文档

  1. 从与上述文件相同的目录中,使用kubectl apply将更新后的配置应用于租户

kubectl apply -f ./

输出类似于以下内容

tenant.minio.min.io/my-tenant configured

使用 MinIO Helm Chart 升级租户

此过程使用 Helm Chart 升级现有的 MinIO 租户。

如果您使用 Kustomize 部署了租户,请改用使用 Kustomize 升级租户过程。

  1. 验证现有的 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
    
  2. 更新 Operator 仓库

    使用helm repo update minio-operator来更新 MinIO Operator 仓库。如果您为 MinIO Operator 仓库设置了不同的别名,请将其指定给命令。您可以使用helm repo list来查看您已安装的仓库。

    更新 Operator 仓库后,使用helm search检查最新的可用图表版本

    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         6.0.4          v6.0.4         A Helm chart for MinIO Operator
    minio-operator/tenant           6.0.4          v6.0.4         A Helm chart for MinIO Operator
    

    minio-operator/minio-operator是一个旧版图表,在正常情况下**不应**安装。

  3. 运行helm upgrade

    Helm 使用最新的图表来升级租户

    helm upgrade -n minio-tenant \
      CHART_NAME minio-operator/tenant
    

    命令结果应返回成功,并且REVISION值会增加。

  4. 验证租户升级

    检查所有服务和 Pod 是否联机并正常运行。