【问题标题】:kong rate limiting plugin has no effect on requestkong 限速插件对请求没有影响
【发布时间】:2021-10-12 11:56:33
【问题描述】:

我已经部署了以下资源。

  1. kong 命名空间中的kong

  2. poc 命名空间中的服务回显

    kubectl apply -f https://gist.githubusercontent.com/hbagdi/0d833181239a39172ba70cbec080bdb9/raw/7f46cf1c9e54562e2c23902daace7ac8edc40427/echo-server.yaml -n poc

  3. 在 poc 命名空间中使用 /foo 路径创建了一个入口。 注意:/foo 从 echo 服务映射到 /echo。

    echo "
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: demo
      namespace: poc
      annotations:
        kubernetes.io/ingress.class: kong
    spec:
      rules:
      - http:
          paths:
          - path: /foo
            backend:
              serviceName: echo
              servicePort: 80
    " | kubectl -n poc apply -f -
  1. 创建了kong插件
kind: KongPlugin
metadata:
  name: default.rate-limiting
  namespace: poc
config:
  minute: 3
  policy: local
plugin: rate-limiting" | kubectl apply -f -
  1. 使用 default.rate-limiting 修补服务 kubectl patch -n poc svc echo -p '{"metadata":{"annotations":{"konghq.com/plugins":"default.rate-limiting"}}}'

根据上述逻辑,应允许一分钟内 3 个请求,但即使一分钟内超过 3 个请求也不会应用速率限制。

【问题讨论】:

  • 您可以使用x_kong_debug: 1 标头运行查询以获取一些详细信息吗?

标签: kubernetes rate-limiting kong kong-plugin


【解决方案1】:

我不确定您使用的是带 DB 还是少 DB 的 Kong 模型。

首先,我建议您尝试一次Konga,这是一个供 Kong 管理而不是使用文件进行管理的仪表板。

阅读更多:https://faun.pub/kong-api-gateway-with-konga-dashboard-ae95b6d1fec7

关于速率限制,我遇到了策略类型 local 的相同问题,因为它不使用任何类型的后台数据库。

GitHub 上有未解决的问题:https://github.com/Kong/kong/issues/5311

https://docs.konghq.com/hub/kong-inc/rate-limiting/#configuration

尝试在后台使用 Redis 一次并进行速率限制,并测试一些以秒和分钟为单位更改请求的场景。

【讨论】:

  • 我正在使用无db模式并尝试了redis/local这两种缓存机制,但它不起作用。我可以从上游服务获得响应,但没有速率限制
猜你喜欢
  • 2020-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2015-11-28
相关资源
最近更新 更多