文件

升級 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 <命名空間>

    您可以透過擷取命名空間中 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 <命名空間>

    使用 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'