簡體   English   中英

防止 kube.netes 崩潰循環中的回退

[英]Prevent back-off in kubernetes crash loop

我有一個 pod,里面有一些糟糕的、有缺陷的軟件。 Kube.netes 很棒的原因之一是它會在軟件崩潰時重新啟動軟件,這非常棒。

Kube.netes 是為好的軟件而不是糟糕的軟件而設計的,所以它在重新啟動 pod 時會進行指數退避。 這意味着在我的 pod 重新啟動之前,我必須在兩次崩潰之間等待五分鍾。

有什么方法可以限制 kube.netes 退避策略嗎? 我想將其更改為在再次啟動 pod 之前等待時間不超過 30 秒。

不幸的是,容器重啟的最大后退時間對於節點可靠性是不可調的(即,太多的容器重啟可能使節點不堪重負)。 如果您絕對想在群集中更改它,則需要修改代碼中的最大退避時間 ,編譯自己的kubelet二進制文件,並將其分發到節點上。

正如@yu-ju hong 的回復中所述,您無法更改有關 backOff 超時的硬編碼值。 但是,如果您真的想讓 pod 內的服務隨心所欲地重新啟動,並且對 k8s 提供的遙測不感興趣,您也可以將應用程序包裝在一個 shell 腳本中,該腳本在 while 循環中重新啟動它。

這不是問題的答案,但可能是一個務實的“解決方案”。

但是你需要考慮到你無法區分那些預期的崩潰和其他可能不期望的崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM