文件

升級 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 Charts 升級現有的 MinIO 租戶。

如果您使用 Kustomize 部署租戶,請改用使用 Kustomize 升級租戶程序。

  1. 驗證現有的 MinIO 租戶安裝。

    使用 kubectl get all -n TENANT_NAMESPACE 來驗證所有租戶 Pod 和服務的健康狀況和狀態。

    使用 helm list 命令查看命名空間中已安裝的 Charts。

    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 來檢查最新的可用 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         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 是一個舊版 Chart,在正常情況下 **不應** 安裝。

  3. 執行 helm upgrade

    Helm 使用最新的 Chart 來升級租戶

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

    命令結果應成功返回,並且 REVISION 值應增加。

  4. 驗證租戶升級

    檢查所有服務和 Pod 是否在線並正常運行。