2017-06-06 142 views
0

我們希望在運行許多kubernetes窗格的某些運行實例中進行縮放。所以,根據官方文件termination-of-pods,我們將使用graceful period優雅地停止吊艙。我已經閱讀了許多博客文章和官方文檔,他們都告訴如何優雅地終止與graceful period pod。但他們沒有說如何確定graceful period會更好。如何確定kubernetes在終止pod時的優美時段?

比方說,例如,一個容器中的容器可能會在一段時間內服務數千個請求,並且它將花費超過30秒來完成所有請求。我認爲在這種情況下,將graceful period設置爲30秒會是一個糟糕的主意,因爲有些請求會丟失。但是,當用戶負載下降並且同一個容器中的同一個容器僅在其他時間段內服務數十個請求時,它只花費5秒完成所有操作,在這種情況下,對於graceful period,30秒將過長。

這是我的考慮。所以,我的問題如下。 1.是否有最佳做法來確定graceful period要好多久? 2.是否有任何方法檢查處理請求是否在容器中完成,然後正常終止窗格? 3.將終止命令發送到一個窗格後,可以擴展最初的graceful period嗎?

在此先感謝。

回答

1

確定理想優美時段的最好方法是通過可觀察性。將您的服務置於實際的生產負載和衡量之下。這是高度項目特定的!

如果PID 1的進程在優雅週期之前退出,那麼您的容器將在優雅週期結束之前標記爲已終止,因此值得設置一個稍高於正常情況下預期的值。

您可能有興趣讓容器在終止時寫入任意信息。 Kubernetes有一個名爲Termination messages的功能,您可能需要查看。

相關問題