首页 > 解决方案 > 如何在不使用 readinessProbe 的情况下将 pod 设置为未就绪?

问题描述

我已经为在 Kubernetes 中运行的一些服务设置了一些 HTTP GET 就绪探测。这样做是为了在 Kubernetes 服务繁忙(处理长 POST 请求)时从 Kubernetes 服务中移除 pod。不是每秒发送 HTTP GET 就绪探测,而是有一种方法可以在 pod 开始处理 POST 请求时将其设置为未就绪。

标签: kubernetes

解决方案


我认为您应该实现某种逻辑,例如,如果正在处理请求,则创建一个文件,并在没有请求时将其删除。

根据您对请求执行的处理类型,这可能会在处理运行时添加为函数,或者是检查x进程是否处于活动状态的脚本,这意味着正在处理请求。

然后可以在就绪探测中使用它,因为这会将其标记Pod为未就绪。

您还可以更改处理请求的整个架构。pod您可以生成一个运行直到完成的作业,而不是将它们推送到 a 。这样,您可以同时使用并行作业或设置工作队列来处理许多请求。


推荐阅读