請按照下列步驟排解使用 Kf Apps 時可能發生的各種問題。
物件刪除作業卡住。
執行下列指令取得資源資訊,然後檢查下列原因:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
kf
CLI 可協助檢查部分問題:
kf doctor --space SPACE_NAME app/APP_NAME
可能的原因 | 解決方案 |
---|---|
刪除時間戳記為未來的時間。 |
由於時鐘偏差, |
物件上有終結程序。 |
終結器會出現在物件上,必須由設定終結器的控制器在物件刪除前移除。 如果您想強制刪除,而不必等待終結器,請編輯物件,將其從 如要從物件中移除終結器,請使用 詳情請參閱「使用終結器控制刪除作業」。 警告:如果移除終結器而不允許控制器完成,可能會導致錯誤、安全性問題、資料遺失或孤立資源。 |
可能存在依附物件。 |
物件可能會等待依附項目刪除後,才會刪除。詳情請參閱 Kubernetes 垃圾收集指南。請管理員檢查命名空間和叢集中的所有物件,看看是否有物件阻止刪除作業。 如果您需要移除物件,但不必等待依附元件,請使用 |
物件產生狀態偏移。
執行下列指令取得資源資訊,然後檢查下列原因:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
kf
CLI 可協助檢查部分問題:
kf doctor --space SPACE_NAME app/APP_NAME
可能的原因 | 解決方案 |
---|---|
物件有產生版本偏移。 |
這個錯誤通常是因為 Kf 控制器未讀取最新版本的物件,一旦 Kubernetes 副本達到最終一致性,這個錯誤通常會自動復原,通常也不需要使用者採取任何行動。 |
物件比對失敗。
執行下列指令取得資源資訊,然後檢查下列原因:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
kf
CLI 可協助檢查部分問題:
kf doctor --space SPACE_NAME app/APP_NAME
可能的原因 | 解決方案 |
---|---|
物件有 TemplateError |
使用者在自訂資源規格中輸入無效的屬性,或是工作區/叢集中的設定有誤,通常會發生這個錯誤。 如要瞭解根本原因,使用者可以使用指令 |
物件發生 ChildNotOwned 錯誤 (名稱相衝突) |
這項錯誤通常表示控制器嘗試建立的物件已存在。如果使用者建立的 K8s 資源名稱與控制器嘗試建立的名稱相同,就會發生這種情況;但更常發生的情況是,使用者刪除資源,然後 Kf 控制器嘗試重新建立資源。如果子項資源仍在執行中,其擁有者將是不再存在的舊資源。 如要復原錯誤,建議使用者刪除受影響的資源,然後重新建立。如要刪除物件,請使用 Kf 刪除指令或 如要重新建立資源,請使用 Kf 指令。例如 |
物件有 ReconciliationError |
這項錯誤通常表示 Kf 控制器向 Kubernetes API 伺服器發出的 HTTP 呼叫發生錯誤,無法建立/更新資源。 如要瞭解根本原因,使用者可以使用指令 |