准备就绪探测失败时的Kubernetes自定义操作

准备就绪探测失败时的Kubernetes自定义操作,kubernetes,autoscaling,readinessprobe,Kubernetes,Autoscaling,Readinessprobe,我目前正试图在readiness probe hass因其当前运行的吊舱而失败时自动扩展部署 pod在发送POST请求之前处于空闲状态,并且在处理该请求时,它不响应任何其他请求 为了知道处理何时进行,我创建了一个端点,如果pod空闲,则返回TRUE,否则返回FALSE 我将readiness probe配置为查询此端点,以便在处理过程中将其标记为不可用(并在不再处理时将其标记为可用) 默认情况下,我有一个有限的pod池(比如5个),可以回答请求 但我仍然希望能够发送另一个带有其他参数的帖子,以便

我目前正试图在readiness probe hass因其当前运行的吊舱而失败时自动扩展部署

pod在发送POST请求之前处于空闲状态,并且在处理该请求时,它不响应任何其他请求

为了知道处理何时进行,我创建了一个端点,如果pod空闲,则返回TRUE,否则返回FALSE

我将readiness probe配置为查询此端点,以便在处理过程中将其标记为不可用(并在不再处理时将其标记为可用)

默认情况下,我有一个有限的pod池(比如5个),可以回答请求

但我仍然希望能够发送另一个带有其他参数的帖子,以便在我的5个pod都不可用时触发另一个处理

因此,当所有POD的就绪性探测都失败时,我希望扩展部署,以便让其他POD能够响应请求

这里的问题是,我没有发现如何用K8S做这样的事情,或者这是否可能。有人能帮我吗

另一种方法是创建一个“观察者”吊舱,该吊舱将观察给定部署的所有准备就绪探测,当所有吊舱出现故障时,该观察舱将负责扩展部署

但这一替代方案意味着,如果在K8S中本来就可以实现的话,我希望避免开发


谢谢:)

readinessprobe本身不能扩展部署。默认情况下,它唯一能做的就是从与Pod匹配的所有服务的端点删除Pod的IP


我想到的唯一解决方案就是你所说的,所以有一个水平吊舱自动缩放器,带有自定义指标,指向一个能够跟踪所有ReadinessProbe的吊舱。

是的,我就是这么想的。我已经辞职了,这并不难,但我更愿意保持K8S的管理风格。感谢您的反馈:)