文件

升級 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 檔案作為基礎配置來升級 Tenant。如果您不再擁有這些檔案,請按照 Operator Console 部署的 Tenant 頁籤中的說明進行操作。

  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 使用指定的映像檔來升級 Tenant。此檔案的名稱 upgrade-minio-tenant.yaml 必須與上一步驟中建立的 kustomization.yaml 檔案中指定的 patches.path 檔名相符。

my-tenantmy-tenant-ns 替換為要升級的 Tenant 的名稱和命名空間。在 image: 中指定要升級到的 MinIO 版本。

或者,您可以根據您的本機程序直接更新基礎配置。請參閱Kustomize 文件以獲取更多資訊。

  1. 從與上述檔案相同的目錄中,使用 kubectl apply 將更新後的配置應用於 Tenant。

kubectl apply -f ./

輸出結果類似如下:

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

使用 MinIO Helm Chart 升級 Tenant

此程序使用 Helm Charts 升級現有的 MinIO Tenant。

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

  1. 驗證現有的 MinIO Tenant 安裝。

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

    使用 helm list 命令檢視命名空間中已安裝的 Chart。

    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 來升級 Tenant。

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

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

  4. 驗證 Tenant 升級

    檢查所有服務和 Pod 是否在線上且正常運作。