开发者社区 > 云原生 > 容器服务 > 正文

OpenKruise中not ready后 readiness还会持续探测并触发告警么?

OpenKruise中not ready后 readiness还会持续探测并触发告警么?

展开
收起
十一0204 2023-10-24 20:26:33 72 0
6 条回答
写回答
取消 提交回答
  • OpenKruise中的Readiness Probe是用来判断业务容器是否已经准备好响应用户请求的。如果检查失败,会将该Pod从Service Endpoints中剔除。当一个Pod被标记为not ready状态时,readiness probe仍然会持续探测,直到该Pod再次变为ready状态或达到unreadyGracePeriodSeconds设置的超时时间。此外,OpenKruise还提供了KruisePodReadinessGate功能,这会在每个Pod创建时注入一个readinessGate,进一步增强了对Pod就绪状态的管理。

    2023-10-29 07:52:38
    赞同 展开评论 打赏
  • 在OpenKruise中,对于处于非就绪(not ready)状态的Pod,Readiness Probe会持续进行探测。这是为了确定容器是否已经达到可用状态,或者说是否可以开始接收请求。如果探测结果表明Pod的健康状态不佳,那么系统会将此Pod从相应Service的后端endpoint列表中隔离出去。此外,如果探测过程中发现Pod一直处于非健康状态,那么系统将会根据预先设置的策略触发告警。这种机制有助于及时发现并处理问题,确保系统的高可用性。

    2023-10-26 15:24:35
    赞同 展开评论 打赏
  • 会的,在OpenKruise中,如果一个Endpoint变为NotReady状态,其ReadinessProbe将持续进行探测,直到Endpoint变为Ready状态。当ReadinessProbe发现Endpoint变为NotReady状态时,它会立即发送告警通知。
    这是因为读取就绪探针的目的是确保Endpoint已经准备好接受流量。如果Endpoint变为NotReady状态,那么它可能不再能够正确处理请求,这可能导致严重的后果。因此,如果Endpoint变为NotReady状态,那么就需要立即采取行动,以确保流量不会被发送到有问题的Endpoint。
    当然,如果你不希望收到这样的告警通知,也可以在OpenKruise中配置禁止读取就绪探针发送告警通知。这通常可以通过修改集群级别的告警规则来进行。

    2023-10-25 16:09:41
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    OpenKruise中,当一个Pod的Ready状态变为Not Ready时,Readiness探针还会继续持续探测,并在探测失败时触发告警。这意味着如果一个Pod的状态变为Not Ready,那么即使Readiness探针失败了,也还会继续触发告警。这是因为告警的触发是基于Readiness探针的失败次数的,而不是基于Pod的状态的。因此,为了保证告警的准确性和及时性,建议定期检查和更新告警策略,以确保其能够正确地反映Pod的状态。

    2023-10-25 14:02:58
    赞同 展开评论 打赏
  • 在Kubernetes中,NotReady状态意味着Pod正在启动或重新启动,但还没有准备好接受流量。Readiness探针是用来检测Pod是否已经准备好接收流量的。

    如果你的Pod处于NotReady状态,那么Readiness探针会继续进行探测,直到Pod变为Ready状态。如果在规定的时间内(默认是10秒),Readiness探针没有收到响应,那么Kubernetes会认为这个Pod是不可用的,并且不会将流量路由到这个Pod。

    因此,即使你的Pod处于NotReady状态,Readiness探针仍然会继续进行探测,并且如果探测失败,Kubernetes会触发相应的告警。

    2023-10-25 11:00:56
    赞同 展开评论 打赏
  • 意中人就是我呀!

    会的,这两个应该不会相互影响的。此答案整理至钉群“OpenKruise 社区交流群”

    2023-10-24 21:06:13
    赞同 展开评论 打赏
滑动查看更多

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载