当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思 [英] What exactly means that K8s will stop route traffic to the pod while the readiness probe is fail

查看:11
本文介绍了当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图解决的问题是Web应用程序的水平伸缩,其中某些会话会导致高CPU使用率。我们的想法是使用Readness Probe通知K8,Pod加载了当前任务,必须将新流量发送到另一个Pod(HPA将完成这项工作并准备一个新Pod)。

但我希望该会话在初始Pod上的处理处于活动状态,并在工作完成后将结果发送给用户。

问题是,这是否意味着如果就绪探测失败,K8将:

  1. 停止将所有流量路由到Pod,丢弃通过入口打开的当前会话。
  2. 停止将新流量路由到Pod,但当前会话将在指定的超时期间处于活动状态。

提前谢谢您。

推荐答案

更新

在我的第一次编辑中,我似乎完全不对。更正确的做法是指定它将停止将新流量路由到Pod,但像ssh这样的TCP连接仍将处于活动状态。

当Endpoint控制器收到就绪探测失败的通知时,它会删除Pod作为Pod所属的服务中的终结点。然后,API服务器将此信息发送到在Worker节点上运行的Kube-Proxies,Kube-Proxies更新其节点上的iptabLes规则,这将阻止新连接转发到此Pod。但是,值得知道的是,TCP协议是一种有状态协议(与HTTP不同),因此现有连接(例如ssh会话)仍将处于活动状态。

这篇关于当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆