文档

升级 MinIO 租户

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

重要

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

使用 Kustomize 升级租户

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

要使用 Kustomize 升级租户

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

如果租户是使用 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 文件作为基本配置来升级租户。如果您不再拥有这些文件,请按照运算符控制台部署的租户选项卡中的说明进行操作。

  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 是否在线并正常运行。