文档

升级 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 图表升级租户

此过程使用 Helm 图表升级现有的 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. 更新操作员存储库

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

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