文件

升級 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 Console 部署的租戶」標籤中的說明進行操作。

  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 是否已上線並正常運作。