啟動實例失敗時的重試機制是怎樣的?
更新時間 2024-12-31 16:04:33
最近更新時間: 2024-12-31 16:04:33
分享文章
本節介紹了啟動實例失敗時的重試機制是怎樣的?
啟動實例失敗時的重試機制是怎樣的?
云容器引擎是基于原生Kubernetes的云容器引擎服務,完全兼容Kubernetes社區原生版本,與社區最新版本保持緊密同步,完全兼容Kubernetes API和Kubectl。
在Kubernetes中,Pod的spec中包含一個restartPolicy字段,其取值包括:Always、OnFailure和Never,默認值為:Always。Always:當容器失效時,由kubelet自動重啟該容器。
OnFailure:當容器終止運行且退出不為0時(正常退出),由kubelet自動重啟該容器。
Never:不論容器運行狀態如何,kubelet都不會重啟該容器。
restartPolicy適用于Pod中的所有容器。
restartPolicy僅針對同一節點上kubelet的容器重啟動作。當Pod中的容器退出時,kubelet 會按指數回退方式計算重啟的延遲(10s、20s、40s...),其最長延遲為5分鐘。 一旦某容器執行了10分鐘并且沒有出現問題,kubelet對該容器的重啟回退計時器執行重置操作。
每種控制器對Pod的重啟策略要求如下:
Replication Controller(RC)和DaemonSet:必須設置為Always,需要保證該容器的持續運行。
Job:OnFailure或Never,確保容器執行完成后不再重啟。