performance - 更新目标Pod时,如何减少Nginx入口路由的停机时间?

标签 performance nginx kubernetes nginx-ingress

我已经设置了一个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/

相关文章:

azure - 使用 Ambassador API 网关在 Azure Kubernetes 上自定义域

python - 从 numpy 中的一维向量映射二维延迟向量

python - 如何有效地检查给定的 IP 地址是否属于 Python 中的 IP 子网?

django - 通过 Nginx、Django 提供 206 字节范围服务

reactjs - 当路径不是 "/"时,react-router + nginx 入口刷新会导致白屏

azure - 具有特定端点 (DNS) 的 kubernetes 服务发现

c# - 在 Windows 窗体中呈现文本的最快 API?

.net - 反序列化文件中的数据。性能问题

nginx - 为什么在 nginx/nginx 上游使用 http/1.0?

Kubernetes 在values.yaml 中使用 {{ include xx }}