当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思 [英] What exactly means that K8s will stop route traffic to the pod while the readiness probe is fail
本文介绍了当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图解决的问题是Web应用程序的水平伸缩,其中某些会话会导致高CPU使用率。我们的想法是使用Readness Probe通知K8,Pod加载了当前任务,必须将新流量发送到另一个Pod(HPA将完成这项工作并准备一个新Pod)。
但我希望该会话在初始Pod上的处理处于活动状态,并在工作完成后将结果发送给用户。
问题是,这是否意味着如果就绪探测失败,K8将:
- 停止将所有流量路由到Pod,丢弃通过入口打开的当前会话。
- 停止将新流量路由到Pod,但当前会话将在指定的超时期间处于活动状态。
提前谢谢您。
推荐答案
更新
在我的第一次编辑中,我似乎完全不对。更正确的做法是指定它将停止将新流量路由到Pod,但像ssh这样的TCP连接仍将处于活动状态。
当Endpoint控制器收到就绪探测失败的通知时,它会删除Pod作为Pod所属的服务中的终结点。然后,API服务器将此信息发送到在Worker节点上运行的Kube-Proxies,Kube-Proxies更新其节点上的iptabLes规则,这将阻止新连接转发到此Pod。但是,值得知道的是,TCP协议是一种有状态协议(与HTTP不同),因此现有连接(例如ssh会话)仍将处于活动状态。这篇关于当就绪探测失败时,K8将停止将流量路由到Pod到底是什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文