文件

升級 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 Chart 升級租戶 程序。

若要使用 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 是否在線上且正常運作。