簡體   English   中英

Kubernetes中基於資源利用的活動檢查

[英]Resource-utilization based liveness checks in Kubernetes

在Kubernetes中,我們有一個活動探測器,該探測器會定期檢查容器是否可訪問,是否殺死並產生一個新容器。

我們有一個Java webapp,在大多數情況下,我發現由於內存壓力,該應用程序變得不可用。 我們有一個活動探針,但是由於運行狀況檢查服務調用不會占用太多內存,因此即使許多其​​他需要更多內存的請求仍然存在,它也會成功。

GC繼續連續運行以回收內存,但無濟於事。 該實例永不恢復。 在這種狀態下,我希望Kubernetes殺死Pod,但是鑒於活動性探測仍然成功,所以不會成功。 解決此問題的一種方法可能是使活動性探針的資源消耗更多,但是這樣會消耗更多的周期,並給系統帶來額外的負載。

因此,我想進行某種活動檢查,以監視Java進程的垃圾回收計數圖的斜率。 另一種說法是,我希望我的活動探針依賴遙測數據。 有什么辦法可以實現?

健康狀況探測通常以HTTP請求的形式使用,該請求檢查HTTP端點返回的狀態代碼。 但是,您也可以執行腳本作為運行狀況檢查,並且kubernetes文檔提供了一個在文件上做些事的示例 您可以運行自定義腳本命令來檢查所需的統計信息(例如, java堆大小 ),而不是對文件進行處理。 如果腳本很復雜,則可能需要將該腳本包含在映像中,或者將其從configmap安裝到容器中。 除了運行bash命令外,還有其他獲取指標的方法,您可以使用k8s 指標API 或者,您可以讓您的Java應用程序直接報告您可以調用的其余端點(例如,諸如Spring Boot致動器)。

暫無
暫無

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

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