当准备就绪探针失败时,k8将停止到吊舱的路由流量



我试图解决的问题是web应用程序的水平扩展,其中一些会话导致高CPU使用率。这个想法是使用Readiness probe来通知k8, pod已加载了当前任务,新的流量必须发送到另一个(HPA将完成这项工作并准备一个新的pod)。

但我希望该会话处理在初始吊舱将活跃,一旦工作完成结果将被交付给用户。

问题是,这是否意味着如果准备度探测失败,K8s将:

  1. 停止路由到pod的所有流量,删除通过ingress打开的当前会话。
  2. 停止路由新的流量到pod,但当前会话将在指定的超时时间内活动。

提前谢谢你。

UPDATE

看起来我的第一次编辑完全不对。更正确的做法是指定它将停止路由新的流量到pod,但TCP连接(如ssh)仍然是活的。

当端点控制器接收到准备探测失败的通知时,它将Pod作为其所属的服务中的端点移除。然后,API服务器将此信息发送到工作节点上运行的kube- proxy,并且kube- proxy更新其节点上的iptables规则,这就是防止将新连接转发到此Pod的原因。然而,值得知道的是,TCP协议是一个有状态的协议(不像HTTP),所以现有的连接(例如ssh会话)仍然是活跃的。

最新更新