我正在使用python / gunicorn服务Web请求运行多个Pod。有时,请求会变得非常缓慢(最多60秒),这会阻塞所有工作人员并使livenessProbe失败。
在某些情况下,所有Pod均在此状态下被阻止,并同时重新启动(正常关闭最多需要60秒)。这意味着没有可用的pod接受新的请求。
是否有一种方法告诉k8遮盖它正在重启的Pod?例如,在其他容器不健康时启动新容器。
答案 0 :(得分:1)
您可以在L7层上有一个入口或负载均衡器,可以将流量路由到kubernetes服务,该服务可以具有多个后端Pod(由Pod的标签和服务的标签选择器选择),这些后端Pod分散在以不同方式运行的不同部署中节点。入口控制器或负载平衡器可以在后端进行运行状况检查,并停止将流量路由到运行状况不佳的Pod。这种拓扑结构总体上提高了应用程序的可用性和弹性。