本文介紹ECI Pod(即ECI實例)的生命周期狀態,您可以根據Pod狀態,設計和實現符合您業務邏輯的處理邏輯。ECI已經跟Kubernetes完成對接,如果您是通過Kubernetes集群使用ECI,無需做額外的實現。
ECI Pod狀態
在ECI Pod的生命周期中,不同的階段有其固有的狀態,具體如下表所示。
ECI Pod狀態 | 說明 | 對應Kubernetes Pod狀態 | 是否收費 |
創建中(Scheduling) | ECI Pod正在創建。 | Pending | 否 |
啟動中(Pending) | ECI Pod中有一個或多個容器還在啟動中,并且沒有處于運行中的容器。 | Pending | 是 |
運行中(Running) | ECI Pod中所有容器均已經創建成功,并且至少有一個容器正在運行中,或者正在重啟。 | Running | 是 |
重啟中(Restarting) | ECI Pod正在重啟。 | Pending | 是 |
更新中(Updating) | ECI Pod正在更新。 | Pending | 是 |
終止中(Terminating) | ECI Pod正在終止。對于運行中的ECI Pod,如果配置了preStop,則在刪除Pod時,Pod將進入Terminating狀態。執行完preStop后,ECI Pod將自動刪除。 | Running | 是 |
運行成功(Succeeded) | ECI Pod中所有容器均已運行成功終止,并且不會再重啟。 | Succeeded | 否 |
運行失敗(Failed) | ECI Pod中所有容器均已運行終止,并且至少有一個容器是運行失敗終止,即容器以非0狀態退出或者被系統終止。 | Failed | 否 |
過期(Expired) | ECI Pod屬于搶占式實例,因資源到期回收而被終止。 | Failed | 否 |
創建失敗(ScheduleFailed) | ECI Pod創建失敗。系統將在24小時后自動刪除ECI Pod,不收取任何費用。 | Failed | 否 |
ECI實例的重啟策略僅決定實例內容器的行為,ECI實例不會被自動重啟。
ECI實例的生命周期狀態轉換如下圖所示。
對于執行完成的實例(處于運行成功或者運行失敗狀態),系統將自動釋放實例資源,但會保留最新100個實例的元數據信息。釋放實例資源時,隨實例一起創建的其它資源(例如EIP等)將隨實例一起釋放。
容器狀態
狀態 | 說明 |
---|---|
啟動中(Waiting) | 容器正在等待創建,還未開始運行。 一般在InitContainer運行時,應用容器會處于Waiting狀態,直到InitContainer退出。 |
運行中(Running) | 容器已經成功創建,并且正在運行。 |
運行終止(Terminated) | 容器運行終止并退出,包括運行成功終止和運行失敗終止。 |