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
服务是否会再次向另一个后端实例发送请求,还是丢失了?
答案 0 :(得分:1)
这取决于服务类型。
如果服务是ClusterIP或NodePort,则将其实例化为iptables规则。发往当前脱机容器的数据包将无法传送,导致请求超时。
如果Service是LoadBalancer,则实现是一个应用程序,如nginx或等效的。它会监视超时,一般而言 - 虽然依赖于配置 - 将重试,允许请求将其发送到在线pod。