為何會看到 Cannot complete cluster master upgrade 訊息?
排除在更新或升級叢集主節點時發生的錯誤。
虛擬私有雲 經典基礎架構 Satellite
升級叢集主節點時,您會收到類似於下列範例的 Cannot complete cluster master upgrade 錯誤訊息。
Cannot complete cluster master upgrade because the Upgradeable status condition is set to False.
「叢集版本操作員」會報告回 Upgradeable 狀態 False 的各種原因。 例如,如果您正從 Red Hat OpenShift 4.15 升級至 4.16,並收到此錯誤訊息,則您的叢集管理員很可能尚未確認已評估並移除對應 Kubernetes 版本中的已廢棄 API。 如需更多資訊,請參閱 準備更新至 OpenShift Container Platform 4.16。
執行下列指令,以檢查叢集未處於可升級狀態的原因。
oc get clusterversion version -o json | jq '.status.conditions[] | select(.type == "Upgradeable")'
-
針對您要更新至的版本,檢閱 版本資訊及更新動作。 評估叢集中是否有已在新版本中移除的 API。
-
檢閱 JSON 物件中的
reason和message欄位,以取得False可升級狀態。 如果您正在嘗試從 Red Hat OpenShift 4.15 升級到 Red Hat OpenShift 4.16,且尚未有管理員確認,則訊息包括* Kubernetes 1.29 and therefore OpenShift 4.16 remove several APIs which require admin consideration. Please see https://access.redhat.com/articles/6958395 for details and instructions.。 如果您沒有 Red Hat 帳戶的存取權來檢視解決方案,則可以執行下列步驟,以叢集管理者身分解決問題。 -
移轉任何受影響的元件,以使用適當的新 API 版本,包括工具、工作量或執行或與叢集互動的任何其他元件。 For example, Red Hat OpenShift 4.16 clusters use Kubernetes 1.29 and face the same 貶值.
-
成功移除已移除的 API 之後,您就可以確認您的群集已經準備好升級到下一個版本的 Red Hat OpenShift。
叢集管理者負責確保不再使用已移除的 API,並在提供此管理者確認通知之前完成移轉至支援的 API。 IBM Cloud 雖然可以協助進行評估,但無法識別所有可能仍在使用已移除 API 的情況,特別是在外部工具和閒置工作負載中。
-
請遵循 提供管理者確認通知 的步驟,確認您已從已移除的 API 中移轉。
-
完成先前的移轉步驟之後,請重新執行下列指令。 請注意,更新
Upgradeable狀態可能需要數分鐘。 如果未傳回任何資料,則已移除Upgradeable狀態,您可以重試叢集升級。oc get clusterversion version -o json | jq '.status.conditions[] | select(.type == "Upgradeable")'