文件

升級 MinIO Operator

您可以隨時升級 MinIO Operator,而不會影響您管理的 MinIO 租戶。

作為升級過程的一部分,Operator 可能會更新和重新啟動租戶,以支援對 MinIO 自訂資源定義 (CRD) 的變更。這些變更不需要任何操作員或管理員採取任何動作,並且不會影響租戶運作。

本頁描述如何從 Operator 5.0.15 升級到 6.0.4。請參閱 將 MinIO Operator 4.5.8 及更新版本升級到 5.0.15,以取得在開始此程序之前升級到 Operator 5.0.15 的說明。

Operator 6.0.0 已棄用 Operator 主控台

從 Operator 6.0.0 開始,MinIO Operator 主控台已被棄用和移除。

您可以繼續使用標準 Kubernetes 方法 (例如 Kustomize 或 Helm) 來管理和部署 MinIO 租戶。

將 MinIO Operator 從 5.0.15 升級到 6.0.4

重要

Operator 6.0.0 已棄用 MinIO Operator 主控台,並從 MinIO Operator CRD 中移除相關資源。這包括移除 Operator 主控台資源,例如服務和 Pod。

請在未來使用 Kustomization 或 Helm 來管理租戶。

以下程序使用 Kustomize 升級 MinIO Operator。對於使用 Operator 5.0.0 到 5.0.14 的部署,請按照 將 MinIO Operator 4.5.8 及更新版本升級到 5.0.15 程序,然後再執行此升級。

如果您使用 Helm 安裝了 Operator,請改用 使用 Helm 升級 的說明。

  1. (選用) 將每個 MinIO 租戶更新到最新的穩定 MinIO 版本。

    定期升級 MinIO 可確保您的租戶擁有最新的功能和效能改進。在套用到您的生產租戶之前,請在較低的環境 (例如開發或 QA 租戶) 中測試升級。請參閱 升級 MinIO 租戶 以取得升級 MinIO 租戶的程序。

  2. 驗證現有的 Operator 安裝。使用 kubectl get all -n minio-operator 來驗證所有 Operator Pod 和服務的健康狀況和狀態。

    如果您將 Operator 安裝到自訂命名空間,請將該命名空間指定為 -n <NAMESPACE>

    您可以透過擷取命名空間中 Operator Pod 的物件規格來驗證目前安裝的 Operator 版本。以下範例使用 jq 工具來從 kubectl 中篩選出必要的資訊

    kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'
    

    輸出類似如下

    {
       "env": [
          {
             "name": "CLUSTER_DOMAIN",
             "value": "cluster.local"
          }
       ],
       "image": "minio/operator:v5.0.15",
       "imagePullPolicy": "IfNotPresent",
       "name": "minio-operator"
    }
    

    如果您的本機主機未安裝 jq 工具,您可以執行命令的第一部分,並找到輸出的 spec.containers 區段。

  3. 使用 Kustomize 升級 Operator

    以下命令將 Operator 升級至 6.0.4 版本

    kubectl apply -k github.com/minio/operator
    

    在下面的範例輸出中,configured 表示已套用來自更新的 CRD 的新變更之處

    namespace/minio-operator unchanged
    customresourcedefinition.apiextensions.k8s.io/miniojobs.job.min.io configured
    customresourcedefinition.apiextensions.k8s.io/policybindings.sts.min.io configured
    customresourcedefinition.apiextensions.k8s.io/tenants.minio.min.io configured
    serviceaccount/minio-operator unchanged
    clusterrole.rbac.authorization.k8s.io/minio-operator-role configured
    clusterrolebinding.rbac.authorization.k8s.io/minio-operator-binding unchanged
    service/operator unchanged
    service/sts unchanged
    deployment.apps/minio-operator configured
    
  4. 驗證 Operator 升級

    您可以使用先前使用的相同 kubectl 命令來檢查新的 Operator 版本

    kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'
    

以下程序使用 Helm 升級現有的 MinIO Operator 安裝。

如果您使用 Kustomize 安裝 Operator,請改為使用 使用 Kustomize 升級 的說明。

  1. (選用) 將每個 MinIO 租戶更新到最新的穩定 MinIO 版本。

    定期升級 MinIO 可確保您的租戶擁有最新的功能和效能改進。在套用到您的生產租戶之前,請在較低的環境 (例如開發或 QA 租戶) 中測試升級。請參閱 升級 MinIO 租戶 以取得升級 MinIO 租戶的程序。

  2. 驗證現有的 Operator 安裝。

    使用 kubectl get all -n minio-operator 來驗證所有 Operator Pod 和服務的健全狀況和狀態。

    如果您將 Operator 安裝到自訂命名空間,請將該命名空間指定為 -n <NAMESPACE>

    使用 helm list 命令來檢視命名空間中已安裝的圖表

    helm list -n minio-operator
    

    結果應與以下類似

    NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
    operator        minio-operator  1               2023-11-01 15:49:54.539724775 -0400 EDT deployed        operator-5.0.x v5.0.x
    
  3. 更新 Operator 儲存庫

    使用 helm repo update minio-operator 來更新 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 是一個舊版圖表,在正常情況下不應安裝。

  4. 執行 helm upgrade

    Helm 使用最新的圖表來升級 MinIO Operator

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

    如果您將 MinIO Operator 安裝到不同的命名空間,請在 -n 參數中指定。

    如果您使用的安裝名稱與 operator 不同,請將以上值替換為安裝名稱。

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

  5. 驗證 Operator 升級

    您可以使用先前使用的相同 kubectl 命令來檢查新的 Operator 版本

    kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'