kubernetes - 如何在不使用 readinessProbe 的情况下将 pod 设置为未就绪?
问题描述
我已经为在 Kubernetes 中运行的一些服务设置了一些 HTTP GET 就绪探测。这样做是为了在 Kubernetes 服务繁忙(处理长 POST 请求)时从 Kubernetes 服务中移除 pod。不是每秒发送 HTTP GET 就绪探测,而是有一种方法可以在 pod 开始处理 POST 请求时将其设置为未就绪。
解决方案
我认为您应该实现某种逻辑,例如,如果正在处理请求,则创建一个文件,并在没有请求时将其删除。
根据您对请求执行的处理类型,这可能会在处理运行时添加为函数,或者是检查x
进程是否处于活动状态的脚本,这意味着正在处理请求。
然后可以在就绪探测中使用它,因为这会将其标记Pod
为未就绪。
您还可以更改处理请求的整个架构。pod
您可以生成一个运行直到完成的作业,而不是将它们推送到 a 。这样,您可以同时使用并行作业或设置工作队列来处理许多请求。
推荐阅读
- html - 网站在调整大小时自动适应屏幕
- java - 无法使用 Google API Java 将 Google 工作场所文档(如 GoogleSheet)下载到本地
- pandas - 无法将其更改为 pandas 日期时间
- python - model.predict() == ValueError:检查输入时出错:预期 flatten_input 有 3 个维度,但得到的数组形状为 (1, 2)
- reactjs - react-bootstrap 模块没有导出成员
- python - 无法在 KAFKA 主题中推送 Json
- python - 如何使用 Python 模块而无需显式导入它们?
- ruby-on-rails - 在 Ruby 中将哈希作为参数传递
- android - 使用 getExternalStoragePublicDirectory 在较新的 android 版本上获取准确的文件路径?
- vue.js - 直接从 vue 3 设置中获得的道具不是反应式的