在更新目的pod时,如何减少nginx入口路由的停机时间



我已经建立了一个nginx ingres,它根据主机将流量路由到特定的部署。

host A --> Service A, host B --> Service B

如果我更新部署A的配置,更新将在不到2秒内完成。然而,我的nginx入口在那之后为主机A关闭,并需要5到7秒才能指向带有新pod的服务A。

如何减少延迟?有没有办法加快nginx入口的性能,使其尽快指向新的吊舱(最好不到3秒?(

谢谢!

您可以使用nginx.ingress.kubernetes.io/service-upstream注释来抑制正常的端点行为,而直接使用服务。这与一些部署模型有更好的集成,但对于ingress nginx来说,5-7秒的时间看到端点更新是极端的。从pod被移除到ingress nginx看到Endpoint被移除之间可能会有很短的间隔。您通常使用一个只休眠几秒钟的预停止挂钩来解决这个问题,以确保在它真正退出时,端点更改已经在所有地方得到处理。