我有一个在k8s pod中运行的NodeJS应用程序,我想对它进行堆转储。在NodeJS中,获取堆转储非常耗时,并且会阻塞主线程,因此pod无法响应k8s的liveness探测,并且偶尔会被SIGKILLed。有什么方法可以防止这种行为吗?比如说,在运行时停止pod的liveness探测10分钟,直到dump准备好。或者有什么已知的做法可以处理类似于我的情况?
cuxqih211#
无法“暂停”livenessProbe。因此,要考虑的选项有:1.调整livenessProbe参数以处理此10 min关闭场景;例如,增加failureThreshold和periodSeconds1.在应用/容器层面解决;例如,您可以运行第二个进程来回复/health检查1.在边车层面解决;例如,您可以使用sidecar容器来处理/health检查
livenessProbe
10 min
failureThreshold
periodSeconds
/health
1条答案
按热度按时间cuxqih211#
无法“暂停”
livenessProbe
。因此,要考虑的选项有:1.调整
livenessProbe
参数以处理此10 min
关闭场景;例如,增加failureThreshold
和periodSeconds
1.在应用/容器层面解决;例如,您可以运行第二个进程来回复
/health
检查1.在边车层面解决;例如,您可以使用sidecar容器来处理
/health
检查