从Kubernetes文档中,当readiness probe失败时,它会从与Pod匹配的所有服务的端点中删除Pod的IP地址。
我们正在考虑实现SIGTERM处理程序以使运行状况检查失败并阻止pod接收未来的流量。这就是我们想要的,没有更多的入境交通。问题是,如果pod包含依赖于后端服务的请求,而这些请求不在同一个pod中,那么pod仍然能够完成这些出站请求吗?
来自文档(强调我的):
有时,应用程序暂时无法处理流量。例如,应用程序可能需要在启动时加载大数据或配置文件,或依赖外部服务后启动。在这种情况下,您不希望终止应用程序,但也不希望向它发送请求。Kubernetes提供了就绪探测器来检测和缓解这些情况。如果容器报告它们没有准备好,则不会通过Kubernetes Services接收流量。
无法通过Kubernetes服务访问pod。您仍然可以发出出站请求,并且任何直接使用pod名称或IP的人也仍然可以到达它。