当READinessProbe失败时,K8s服务是否重新发送请求?

时间:2018-03-23 10:47:12

标签: kubernetes

service发送给deployment的多个副本(默认循环播放)。

后端实例暂时必须脱机,即它们将关闭其端口80,花一些时间,然后再次打开端口。

deployment.yaml正在使用readinessProbe定期检查哪些后端实例已准备好为请求提供服务。

但是在下面的场景中会发生什么?

1) readiness check backend A: OK
2) backend A goes offline
3) requests to service is forwarded to backend A
4) readiness check backend A: fail

服务是否会再次向另一个后端实例发送请求,还是丢失了?

1 个答案:

答案 0 :(得分:1)

这取决于服务类型。

如果服务是ClusterIP或NodePort,则将其实例化为iptables规则。发往当前脱机容器的数据包将无法传送,导致请求超时。

如果Service是LoadBalancer,则实现是一个应用程序,如nginx或等效的。它会监视超时,一般而言 - 虽然依赖于配置 - 将重试,允许请求将其发送到在线pod。