You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:最新稳定版Nginx Ingress Controller的limit-rps注解不生效

Nginx Ingress limit-rps注解未生效的解决方法

1. 确认限流模块与基础配置

  • 检查Nginx Ingress Controller的Pod日志,搜索limit_req关键词,确认该模块已正常加载。最新稳定版默认启用该模块,但如果存在自定义Nginx模板,需确保模板中包含限流区域(limit zone)的定义。
  • 验证Controller版本兼容性:执行kubectl exec -it <ingress-controller-pod-name> -n <controller-namespace> -- nginx -v,确认使用的版本确实支持limit-rps注解(最新稳定版均支持)。

2. 排查注解配置与优先级冲突

  • 确认注解无拼写错误,你当前配置的nginx.ingress.kubernetes.io/limit-rps: "1"格式正确(字符串值加引号),无笔误。
  • 检查全局限流配置:查看Ingress Controller的ConfigMap,若其中设置了limit-rps字段,全局配置会覆盖Ingress资源级别的注解。执行kubectl get configmap <nginx-ingress-config-name> -n <controller-namespace> -o yaml,若存在该字段则删除或调整。
  • 确认无其他冲突注解:若同时配置了limit-rpm(每分钟请求数),两者可共存,但需确保逻辑符合预期;若存在其他限流相关注解,需排查是否存在覆盖逻辑。

3. 验证Nginx配置生成情况

  • 进入Ingress Controller的Pod,查看生成的Nginx配置文件(通常位于/etc/nginx/conf.d/下对应Ingress的配置文件),搜索limit_req指令,确认是否存在针对test.com的限流规则,示例如下:
    limit_req zone=default-rps burst=0 nodelay;
    
  • 若未生成对应规则,尝试重启Ingress Controller的Pod,触发配置重新生成:kubectl rollout restart deployment <nginx-ingress-controller-deployment> -n <controller-namespace>。

4. 实际测试限流效果

  • 使用压测工具验证,例如用ab发送批量请求:
    ab -n 10 -c 2 http://test.com/
    
  • 正常情况下,超过1rps的请求应返回429/503状态码;若全部返回200,需回到前面步骤重新排查配置逻辑。

内容的提问来源于stack exchange,提问作者Ravindra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:35:30