我已经设置了一个nginx入口,可以将流量路由到基于主机的特定部署。
host A --> Service A, host B --> Service B
如果我更新部署A的配置,则更新将在不到2秒的时间内完成。但是,此后,我的Nginx入口进入了主机A,并花了5到7秒时间指向带有新Pod的服务A。
如何减少这种延迟?有没有一种方法可以提高Nginx入口的性能,使其尽快指向新的Pod(最好少于3秒)?
谢谢!
最佳答案
您可以使用nginx.ingress.kubernetes.io/service-upstream
注释来抑制正常的端点行为,而直接使用服务。这样可以更好地与某些部署模型集成,但是5到7秒钟对于ingress-nginx而言,要查看端点更新是极端的。与从移除pod到ingress-nginx看到Endpoint移除之间可能有短暂的差距。通常,您可以使用停止前的挂接程序进行修复,该挂接程序会休眠几秒钟,以确保在实际退出时,端点更改已在所有地方得到处理。
关于performance - 更新目标Pod时,如何减少Nginx入口路由的停机时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60982716/