来自 Kubernetes 文档:
带有报告未准备就绪的容器的 Pod 不会通过 Kubernetes 服务接收流量。
这是否意味着失败的
readinessProbe
应该阻止来自同一部署中 pod 的传入流量?如果我设置一个 readinessProbe
来检查仅在 Pod 加入应用程序集群后才可用的端点,则该端点永远不会出现。我使用 netcat 手动检查,未就绪 pod 的端口(用于建立集群成员资格)确实无法从应用程序集群的其他就绪 pod 访问。
这是预期的吗?有什么可能的解决方法吗?
您所看到的行为是预期的,因为它用于确定 Pod 是否已准备好流量。此外,就绪行为适用于所有传入流量,并且不限于同一部署内的 Pod 间通信。建议的解决方法是创建单独的服务来进行准备情况检查,因为这不会中断 Pod 的流量。