文件

升級 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'