Kubernetes HPA和缩放
我在集群中设置了一个kubernetes HPA,它按照预期工作,随着cpu/内存的增加和减少,它可以上下扩展POD实例 唯一的一点是,我的pod处理web请求,因此它偶尔会缩小正在处理web请求的pod。web服务器从未从缩小的pod中得到响应,因此web api的调用者返回错误 这一切在理论上都是有道理的。我的问题是,有人知道处理这个问题的最佳实践方法吗?有没有什么方法可以让我等到所有请求都得到处理后再缩小规模?或者其他方法来确保在HPA缩小pod之前完成请求 我可以想出一些解决方案,但没有一个我喜欢:Kubernetes HPA和缩放,kubernetes,kubernetes-hpa,Kubernetes,Kubernetes Hpa,我在集群中设置了一个kubernetes HPA,它按照预期工作,随着cpu/内存的增加和减少,它可以上下扩展POD实例 唯一的一点是,我的pod处理web请求,因此它偶尔会缩小正在处理web请求的pod。web服务器从未从缩小的pod中得到响应,因此web api的调用者返回错误 这一切在理论上都是有道理的。我的问题是,有人知道处理这个问题的最佳实践方法吗?有没有什么方法可以让我等到所有请求都得到处理后再缩小规模?或者其他方法来确保在HPA缩小pod之前完成请求 我可以想出一些解决方案,但没有
SIGTERM
信号,30秒后(可配置),您的pod将收到一个SIGKILL
信号并被移除。看
SIGTERM:当你的应用程序收到终止信号时,你的pod将不会收到新请求,但你应该尝试完成已收到请求的响应
幂等性设计
您的应用程序还应设计为幂等性,以便您可以安全地重试失败的请求。正常关闭POD
您必须设计应用程序以支持正常关机。首先,您的pod将收到一个SIGTERM
信号,30秒后(可配置),您的pod将收到一个SIGKILL
信号并被移除。看
SIGTERM:当你的应用程序收到终止信号时,你的pod将不会收到新请求,但你应该尝试完成已收到请求的响应
幂等性设计
您的应用程序还应设计为幂等性,以便您可以安全地重试失败的请求